napframework / nap Goto Github PK
View Code? Open in Web Editor NEWNAP Framework source code
Home Page: https://nap-framework.tech
License: Mozilla Public License 2.0
NAP Framework source code
Home Page: https://nap-framework.tech
License: Mozilla Public License 2.0
OS: Ubuntu 22.04
To reproduce, build with the following command:
mkdir build/ && cd build && cmake -GNinja -DCMAKE_C_COMPILER=clang-15 -DCMAKE_CXX_COMPILER=clang++-15 ..
This results in:
/home/ceeac/Projects/code/nap/utility/src/utility/stringutils.cpp:119:36: error: use of undeclared identifier 'strncmp'
compare_func = caseSensitive ? &strncmp : &strncasecmp;
^
/home/ceeac/Projects/code/nap/utility/src/utility/stringutils.cpp:119:47: error: use of undeclared identifier 'strncasecmp'
compare_func = caseSensitive ? &strncmp : &strncasecmp;
^
/home/ceeac/Projects/code/nap/utility/src/utility/stringutils.cpp:121:63: error: use of undeclared identifier 'strlen'
return compare_func(inString.c_str(), inSubString.c_str(), strlen(inSubString.c_str())) == 0;
^
/home/ceeac/Projects/code/nap/utility/src/utility/stringutils.cpp:136:36: error: use of undeclared identifier 'strncmp'
compare_func = caseSensitive ? &strncmp : &strncasecmp;
^
/home/ceeac/Projects/code/nap/utility/src/utility/stringutils.cpp:136:47: error: use of undeclared identifier 'strncasecmp'
compare_func = caseSensitive ? &strncmp : &strncasecmp;
^
5 errors generated.
ninja: build stopped: subcommand failed.
Hi
The documentation to install the framework on RaspberryPi refers to Release 0.5.0, but I can't find it in the repository, the most recent release listed is 0.4.5, where is 0.5.0 release available?
Thank you.
if given arguments:
"STREQUAL" "Release"
Unknown arguments specified
This is with cmake 3.29
Fix:
diff --git a/tools/napkin/CMakeLists.txt b/tools/napkin/CMakeLists.txt
index fabca61ea..de0f76505 100644
--- a/tools/napkin/CMakeLists.txt
+++ b/tools/napkin/CMakeLists.txt
@@ -215,7 +215,7 @@ if(APPLE)
elseif(UNIX)
- if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
+ if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
list(APPEND DEEP_DEPENDENT_RPATHS ${PATH_TO_THIRDPARTY}/Qt/lib)
list(APPEND DEEP_DEPENDENT_RPATHS lib)
Hi, I was just learning about NAP and saw this blog post [ https://blog.napframework.com/2020/moving-habitat-to-nap-0.4/ ] where the performance was talked about... Just wondering if there are any good public / freely available demos for use with NAP for the purpose of CPU/GPU comparison benchmarking? The few demos bundled with the NAP framework appear to be quite basic. Being new to NAP, just curious if there was any guidance on any publicly available assets that would be useful if wanting to feature NAP when conducting any GPU review testing, etc.
Thanks,
Michael
Can be reproduced in helloworld
demo project
nap::StructBuffer
document.cpp:1153
followed by crashassert(src_value.get_type().is_wrapper() && src_value.get_type().get_wrapped_type().is_pointer());
Hey,
nap/modules/napimgui/src/imguiservice.cpp
Line 389 in 04801e6
io.KeyMap[ImGuiKey_Enter] = (int)EKeyCode::KEY_RETURN;
?
Likely has to do with SDL2. Seems like setting the SDL_WINDOW_FULLSCREEN_DESKTOP
flag can cause my system to crash. The error that pops up continuously says that the creation of a swapchain the size of my display failed (1920x1080 -> 2560x1440).
My current workaround is to resize a borderless window to the display size and position it at the top left corner of the display coordinates. Arguably this is what (desktop) fullscreen mode does anyway, but the SDL call is still broken.
Additionally prevent fullscreen requests on Linux:
#ifdef __linux__
nap::Logger::warn("Fullscreen is disabled on Linux");
#elif
for (auto* window : mMultiRenderWindow->getWindows())
window->toggleFullscreen();
#endif
Hi NAP team!
We found a few issues related to the DPI-dependent GUI scaling in NAP 0.5. The bugs below were encountered when using a high resolution primary display (Retina or 4K) and a lower resolution secondary display (Full HD). This is a situation that is relatively common for our users (who might use an external display with their MacBook). The bugs have also been reproduced on Windows unless noted otherwise.
Bug 1: When dragging the app window to a newly connected monitor, the GUI become unusually large.
Bug 2 (only on MacOS): The size of ImGUI windows is much larger in relation to the app window on the secondary/lower resolution display. This is especially a problem when the ImGUI window gets larger than the app window itself: in this case it becomes impossible to manually resize the ImGUI window.
After starting up the Hello World demo:
After dragging the app window to the secondary display:
Bug 3: When placing the app window around the halfway point between the secondary display and the first display, the GUI becomes unusually large:
CMake Error at cmake/nap_module.cmake:120 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
system_modules/napsequenceaudiogui/CMakeLists.txt:23 (include)
with cmake 3.29
Fix
diff --git a/cmake/nap_module.cmake b/cmake/nap_module.cmake
index 981f14245..92e54fe90 100644
--- a/cmake/nap_module.cmake
+++ b/cmake/nap_module.cmake
@@ -117,7 +117,7 @@ if(APPLE)
elseif(UNIX)
set(LINUX_EXTRA_RPATH "")
foreach(rpath ${DEEP_DEPENDENT_RPATHS})
- string(REPLACE "{BUILD_TYPE}" ${CMAKE_BUILD_TYPE} rpath "${rpath}")
+ string(REPLACE "{BUILD_TYPE}" "${CMAKE_BUILD_TYPE}" rpath "${rpath}")
list(APPEND LINUX_EXTRA_RPATH ${rpath})
endforeach()
endif()
Steps to reproduce:
helloworld
in Napkinnap::RenderableMeshComponent
in the World
entitynap::RenderableMeshComponent
helloworld
Napkin should probably generate new IDs for the duplicated uniforms as well. I have also had this happen with BufferBinding
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.