Compare commits
2 Commits
77ff2d7c0e
...
b25c3d8360
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b25c3d8360 | ||
|
|
87e7db0c87 |
633
.cache/neocmakelsp/project_completions_cache.json
Normal file
633
.cache/neocmakelsp/project_completions_cache.json
Normal file
@ -0,0 +1,633 @@
|
|||||||
|
{
|
||||||
|
"date": "2026-08-25T23:21:08.955192774+02:00",
|
||||||
|
"data": {
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/book/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "book_sources",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/book/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/fuzz/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "CLI11_FUZZ_ARTIFACT_PATH",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/fuzz/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_FUZZ_TIME_APP",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/fuzz/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_FUZZ_TIME_FILE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/fuzz/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/single-include/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "Python::Interpreter",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package from: Python"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Python_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Python"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Python_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Python"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "VERSION_REGEX",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Doxygen_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Doxygen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Doxygen_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Doxygen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "BUILD_TESTING",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "docs_EXIST",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "docs_EXIST",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "examples_EXIST",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "examples_EXIST",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_WARNINGS_AS_ERRORS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_SINGLE_FILE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_PRECOMPILED",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_MODULES",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_CXX_STANDARD",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_CXX_EXTENSIONS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_CXX_STANDARD_REQUIRED",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_CXX_STANDARD_LIBRARIES_INIT",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_CXX_STANDARD_LIBRARIES",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_headerLoc",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_headers",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_impl_headers",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_library_headers",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_CUDA_FLAGS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt\n\nPrint out warning and error numbers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_PACKAGE_VENDOR",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_PACKAGE_CONTACT",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_PACKAGE_VERSION_MAJOR",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_PACKAGE_VERSION_MINOR",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt\n\nAutomatic in CMake 3.12+"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_PACKAGE_VERSION_PATCH",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt\n\nAutomatic in CMake 3.12+"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_PACKAGE_DESCRIPTION_SUMMARY",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt\n\nAutomatic in CMake 3.12+"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_RESOURCE_FILE_LICENSE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_RESOURCE_FILE_README",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_PACKAGE_DESCRIPTION_FILE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_SOURCE_GENERATOR",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_SOURCE_IGNORE_FILES",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt\n\nCPack collects *everything* except what's listed here."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_DEBIAN_PACKAGE_ARCHITECTURE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_DEBIAN_COMPRESSION_TYPE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CPACK_DEBIAN_PACKAGE_NAME",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "add_dependent_application_definitions",
|
||||||
|
"kind": 3,
|
||||||
|
"detail": "Function",
|
||||||
|
"documentation": "defined function\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "add_sanitizers",
|
||||||
|
"kind": 3,
|
||||||
|
"detail": "Function",
|
||||||
|
"documentation": "defined macro\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "add_catch_test",
|
||||||
|
"kind": 3,
|
||||||
|
"detail": "Function",
|
||||||
|
"documentation": "defined macro\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt\n\nTarget must already exist"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Sanitizers_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Sanitizers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Sanitizers_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Sanitizers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_BOOST",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt\n\nAdd boost to test boost::optional (currently explicitly requested)\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Boost_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Boost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Boost_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Boost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Boost_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Boost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Boost_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Boost"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "boost-optional-def",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_TESTS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_MULTIONLY_TESTS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Catch2_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Catch2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Catch2_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Catch2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "catch2_url",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "catch2_header",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "catch2_hash",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_DEPENDENT_APPLICATIONS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt\n\nBuild dependent applications which are launched from test code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "TEST_FILE_FOLDER",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Threads_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Threads"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Threads_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: Threads"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "no-deprecated-declarations",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt\n\nAdd -Wno-deprecated-declarations to DeprecatedTest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "cli11_boost_target",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "cli11_boost_target",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_PACKAGE_SEARCH_LOC",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "package_test_command",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "package_test_command",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt\n\nsome other setup that isn't that important to run on all OS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_PACKAGE_TEST_BUILD_TYPE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CLI11_PACKAGE_TEST_BUILD_TYPE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "PUBLIC_OR_INTERFACE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "PUBLIC_OR_INTERFACE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SYSTEM_INCL",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SYSTEM_INCL",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/CMakeLists.txt\n\nthe compiler emitting any warnings about them"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "addGlslShader",
|
||||||
|
"kind": 3,
|
||||||
|
"detail": "Function",
|
||||||
|
"documentation": "defined function\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt\n\nHelper functions to build shaders"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "addSlangShader",
|
||||||
|
"kind": 3,
|
||||||
|
"detail": "Function",
|
||||||
|
"documentation": "defined function\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "addBinary",
|
||||||
|
"kind": 3,
|
||||||
|
"detail": "Function",
|
||||||
|
"documentation": "defined function\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt\n\nA function to automate executables aditions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_EXPORT_COMPILE_COMMANDS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_AR",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "CMAKE_RANLIB",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "glfw3_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: glfw3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "glfw3_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: glfw3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "glm_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: glm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "glm_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: glm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VulkanMemoryAllocator_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: VulkanMemoryAllocator"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "VulkanMemoryAllocator_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: VulkanMemoryAllocator"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "fmt_LIBRARIES",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: fmt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "fmt_INCLUDE_DIRS",
|
||||||
|
"kind": 6,
|
||||||
|
"detail": "Variable",
|
||||||
|
"documentation": "package: fmt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SPV_FILE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SPV_FILE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SPV_FILE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SPV_FILE",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SHADER_OUTPUT_DIR",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "ALL_SPV_FILES",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "EXPANDED_SHADERS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "SHADER_SRC",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "RESOLVED_MODELS",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt\n\nAdds the 3D models in the binary folder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "RESOLVED_TEXTURES",
|
||||||
|
"kind": 12,
|
||||||
|
"detail": "Value",
|
||||||
|
"documentation": "defined variable\nfrom: /home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt\n\nAdds the textures in the binary folder"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/examples/CMakeLists.txt": [
|
||||||
|
{
|
||||||
|
"label": "add_cli_exe",
|
||||||
|
"kind": 3,
|
||||||
|
"detail": "Function",
|
||||||
|
"documentation": "defined function\nfrom: /home/alex/Developer/Code/Vulkan-Git/include/CLI11/examples/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
1178
.cache/neocmakelsp/project_jumpitems_cache.json
Normal file
1178
.cache/neocmakelsp/project_jumpitems_cache.json
Normal file
File diff suppressed because it is too large
Load Diff
8
.cache/neocmakelsp/tree_cmake_map_cache.json
Normal file
8
.cache/neocmakelsp/tree_cmake_map_cache.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"date": "2026-08-26T14:26:46.281424105+02:00",
|
||||||
|
"data": {
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/cmake/CLI11GeneratePkgConfig.cmake": [
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
15
.cache/neocmakelsp/tree_map_cache.json
Normal file
15
.cache/neocmakelsp/tree_map_cache.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"date": "2026-08-26T14:26:46.281337341+02:00",
|
||||||
|
"data": {
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/docs/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/modules/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/single-include/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/src/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/examples/subcom_in_files/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/examples/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/examples/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/fuzz/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/tests/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt",
|
||||||
|
"/home/alex/Developer/Code/Vulkan-Git/include/CLI11/book/CMakeLists.txt": "/home/alex/Developer/Code/Vulkan-Git/include/CLI11/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
}
|
||||||
1
.clangd
1
.clangd
@ -11,3 +11,4 @@ CompileFlags:
|
|||||||
- -DLOGGER_IMPL
|
- -DLOGGER_IMPL
|
||||||
- -DSERVER_INIT_IMPL
|
- -DSERVER_INIT_IMPL
|
||||||
- -DSERVER_IMPL
|
- -DSERVER_IMPL
|
||||||
|
- -DLOADER_IMPL
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -37,6 +37,9 @@ Thumbs.db
|
|||||||
# direnv
|
# direnv
|
||||||
.direnv/
|
.direnv/
|
||||||
|
|
||||||
|
# cache
|
||||||
|
.cache/
|
||||||
|
|
||||||
# Nix flakes
|
# Nix flakes
|
||||||
result
|
result
|
||||||
result-*
|
result-*
|
||||||
|
|||||||
@ -27,8 +27,18 @@ find_package( VulkanMemoryAllocator CONFIG REQUIRED )
|
|||||||
find_package( fmt REQUIRED )
|
find_package( fmt REQUIRED )
|
||||||
# Shader compilers
|
# Shader compilers
|
||||||
add_executable (glslang::validator IMPORTED)
|
add_executable (glslang::validator IMPORTED)
|
||||||
find_program (GLSLANG_VALIDATOR "glslangValidator" HINTS $ENV{VULKAN_SDK}/bin REQUIRED)
|
find_program (
|
||||||
set_property (TARGET glslang::validator PROPERTY IMPORTED_LOCATION "${GLSLANG_VALIDATOR}")
|
GLSLANG_VALIDATOR
|
||||||
|
"glslangValidator"
|
||||||
|
HINTS $ENV{VULKAN_SDK}/bin
|
||||||
|
REQUIRED
|
||||||
|
)
|
||||||
|
|
||||||
|
set_property (
|
||||||
|
TARGET glslang::validator
|
||||||
|
PROPERTY IMPORTED_LOCATION "${GLSLANG_VALIDATOR}"
|
||||||
|
)
|
||||||
|
|
||||||
find_program(SLANGC_EXECUTABLE slangc HINTS $ENV{VULKAN_SDK}/bin REQUIRED)
|
find_program(SLANGC_EXECUTABLE slangc HINTS $ENV{VULKAN_SDK}/bin REQUIRED)
|
||||||
|
|
||||||
# CL11
|
# CL11
|
||||||
@ -94,7 +104,7 @@ endfunction()
|
|||||||
|
|
||||||
# A function to automate executables aditions
|
# A function to automate executables aditions
|
||||||
function ( addBinary BINARY_NAME )
|
function ( addBinary BINARY_NAME )
|
||||||
cmake_parse_arguments ( BINARY "IMGUI;LICENSE;GLOB_INCLUDE" "SOURCE" "SHADERS;SLANG_SHADERS;LIBS;TEXTURES;MODELS" ${ARGN} )
|
cmake_parse_arguments ( BINARY "IMGUI;LICENSE" "SOURCE" "SHADERS;SLANG_SHADERS;LIBS;TEXTURES;MODELS" ${ARGN} )
|
||||||
if (DEFINED BINARY_SOURCE)
|
if (DEFINED BINARY_SOURCE)
|
||||||
add_executable ( ${BINARY_NAME} src/${BINARY_SOURCE}.cpp )
|
add_executable ( ${BINARY_NAME} src/${BINARY_SOURCE}.cpp )
|
||||||
endif()
|
endif()
|
||||||
@ -210,22 +220,30 @@ function ( addBinary BINARY_NAME )
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
# Scan the shader folder
|
|
||||||
file(GLOB SHADER_SOURCES CONFIGURE_DEPENDS "shaders/*")
|
|
||||||
# Scan the include folder
|
|
||||||
|
|
||||||
|
|
||||||
# Adds the main binary
|
# Adds the main binary
|
||||||
|
|
||||||
|
list(
|
||||||
|
APPEND
|
||||||
|
lib_list
|
||||||
|
# Libs used
|
||||||
|
glfw
|
||||||
|
fmt
|
||||||
|
vk-bootstrap
|
||||||
|
vulkan
|
||||||
|
CLI11::CLI11
|
||||||
|
fastgltf
|
||||||
|
)
|
||||||
addBinary (
|
addBinary (
|
||||||
engine
|
engine
|
||||||
SOURCE Engine/main
|
SOURCE Engine/main
|
||||||
|
# Flags
|
||||||
SHADERS ${SHADER_SOURCES}
|
|
||||||
SHADERS
|
|
||||||
LIBS glfw fmt vk-bootstrap vulkan CLI11::CLI11
|
|
||||||
IMGUI
|
IMGUI
|
||||||
LICENSE
|
LICENSE
|
||||||
|
|
||||||
|
SHADERS shaders/*
|
||||||
|
MODELS *
|
||||||
|
|
||||||
|
LIBS ${lib_list}
|
||||||
)
|
)
|
||||||
|
|
||||||
addBinary (
|
addBinary (
|
||||||
|
|||||||
BIN
assets/models/basicmesh.glb
Normal file
BIN
assets/models/basicmesh.glb
Normal file
Binary file not shown.
1
include/imgui
Submodule
1
include/imgui
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit c94bb90ff5c4bab7c1632996589b675ed5e81005
|
||||||
@ -79,13 +79,20 @@ class Logger {
|
|||||||
); // Logs using all of the above, RAM then console and finally disk, maybe multithread (?)
|
); // Logs using all of the above, RAM then console and finally disk, maybe multithread (?)
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void logError(
|
void logImportant(
|
||||||
LogModule module,
|
LogModule module,
|
||||||
LogLevel level,
|
LogLevel level,
|
||||||
std::string_view message,
|
std::string_view message,
|
||||||
Args&&... args
|
Args&&... args
|
||||||
); // Logs to console and file, in cases of crashes or errors
|
); // Logs to console and file, in cases of crashes or errors
|
||||||
|
|
||||||
|
template<typename... Args>
|
||||||
|
void logFatal(
|
||||||
|
LogModule module,
|
||||||
|
std::string_view message,
|
||||||
|
Args&&... args
|
||||||
|
); // Logs to console and file, then abort -> Core dump
|
||||||
|
|
||||||
|
|
||||||
// Utils functions
|
// Utils functions
|
||||||
void merge(std::string_view source); // Merges a source dumped logs into this
|
void merge(std::string_view source); // Merges a source dumped logs into this
|
||||||
@ -274,7 +281,7 @@ void Logger::logAll(
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void Logger::logError(
|
void Logger::logImportant(
|
||||||
LogModule module,
|
LogModule module,
|
||||||
LogLevel level,
|
LogLevel level,
|
||||||
std::string_view message,
|
std::string_view message,
|
||||||
@ -296,6 +303,35 @@ void Logger::logError(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<typename... Args>
|
||||||
|
void Logger::logFatal(
|
||||||
|
LogModule module,
|
||||||
|
std::string_view message,
|
||||||
|
Args&&... args
|
||||||
|
) {
|
||||||
|
// Separator
|
||||||
|
logDisk("=============================== CRASH LOGS ===============================");
|
||||||
|
|
||||||
|
logDisk(
|
||||||
|
module,
|
||||||
|
LogLevel::EFATAL,
|
||||||
|
message,
|
||||||
|
args...
|
||||||
|
);
|
||||||
|
|
||||||
|
logConsole(
|
||||||
|
module,
|
||||||
|
LogLevel::EFATAL,
|
||||||
|
message,
|
||||||
|
args...
|
||||||
|
);
|
||||||
|
|
||||||
|
logSeparator();
|
||||||
|
|
||||||
|
std::abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Logger::merge(std::string_view source) {
|
void Logger::merge(std::string_view source) {
|
||||||
/*
|
/*
|
||||||
This merges a dumped logger into this one
|
This merges a dumped logger into this one
|
||||||
|
|||||||
@ -45,7 +45,7 @@ class Engine {
|
|||||||
public:
|
public:
|
||||||
//========== Class Members ==========
|
//========== Class Members ==========
|
||||||
// Config
|
// Config
|
||||||
int _gpuIndex {0}; // Unitialized
|
int _gpuIndex {-1}; // Unitialized
|
||||||
bool _isInitialized { false };
|
bool _isInitialized { false };
|
||||||
int _frameNumber { 0 };
|
int _frameNumber { 0 };
|
||||||
VkExtent2D _windowExtent;
|
VkExtent2D _windowExtent;
|
||||||
@ -129,9 +129,13 @@ class Engine {
|
|||||||
VkPipeline _meshPipeline;
|
VkPipeline _meshPipeline;
|
||||||
GPUMeshBuffers rectangle;
|
GPUMeshBuffers rectangle;
|
||||||
|
|
||||||
|
// Model
|
||||||
|
std::string _modelPath { "models/basicmesh.glb" };
|
||||||
|
|
||||||
|
|
||||||
void parseConfig(
|
void parseConfig(
|
||||||
int gpuIndex = 0
|
int gpuIndex,
|
||||||
|
std::string modelPath
|
||||||
);
|
);
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
@ -217,6 +221,7 @@ class Engine {
|
|||||||
#define ENGINE_IMPL_H
|
#define ENGINE_IMPL_H
|
||||||
//========== Implementation ==========
|
//========== Implementation ==========
|
||||||
// Implementation defines
|
// Implementation defines
|
||||||
|
#define LOADER_IMPL
|
||||||
#define IMAGES_IMPL
|
#define IMAGES_IMPL
|
||||||
#define INITIALIZERS_IMPL
|
#define INITIALIZERS_IMPL
|
||||||
#define DESCRIPTORS_IMPL
|
#define DESCRIPTORS_IMPL
|
||||||
@ -233,6 +238,7 @@ class Engine {
|
|||||||
#include "callbacks.h"
|
#include "callbacks.h"
|
||||||
#include "descriptors.h"
|
#include "descriptors.h"
|
||||||
#include "pipelines.h"
|
#include "pipelines.h"
|
||||||
|
#include "loader.h"
|
||||||
#include "Common/Types.h"
|
#include "Common/Types.h"
|
||||||
#include "Common/Timer.h"
|
#include "Common/Timer.h"
|
||||||
#include "Common/Logger.h"
|
#include "Common/Logger.h"
|
||||||
@ -275,11 +281,18 @@ constexpr bool bUseValidationLayers = false;
|
|||||||
//======================
|
//======================
|
||||||
|
|
||||||
void Engine::parseConfig(
|
void Engine::parseConfig(
|
||||||
int gpuIndex
|
int gpuIndex,
|
||||||
|
std::string modelPath
|
||||||
) {
|
) {
|
||||||
_gpuIndex = gpuIndex;
|
_gpuIndex = gpuIndex;
|
||||||
}
|
|
||||||
|
|
||||||
|
if(!modelPath.size() == 0) {
|
||||||
|
#ifdef DEBUG
|
||||||
|
_logger.logAll(ENGINE, EINFO, "Model overwrite, using {}", modelPath);
|
||||||
|
#endif
|
||||||
|
_modelPath = modelPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Engine::init() {
|
void Engine::init() {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
@ -544,7 +557,8 @@ void Engine::run() {
|
|||||||
// Pipeline change monitor
|
// Pipeline change monitor
|
||||||
int currentID = currentBackgroundEffect;
|
int currentID = currentBackgroundEffect;
|
||||||
if (prevID != currentID) {
|
if (prevID != currentID) {
|
||||||
_logger.logRAM(ENGINE, EINFO, "Background shader changed");
|
//_logger.logRAM(ENGINE, EINFO, "Background shader changed");
|
||||||
|
_logger.logFatal(ENGINE, "Background shader changed !");
|
||||||
}
|
}
|
||||||
prevID = currentID;
|
prevID = currentID;
|
||||||
|
|
||||||
@ -575,7 +589,7 @@ void Engine::run() {
|
|||||||
}
|
}
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
// Not an error but logs to required targets
|
// Not an error but logs to required targets
|
||||||
_logger.logError(ENGINE, EINFO, "Engine has finished running after {} seconds!", timer.endTimer());
|
_logger.logImportant(ENGINE, EINFO, "Engine has finished running after {} seconds!", timer.endTimer());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
82
src/Engine/engine/loader.h
Normal file
82
src/Engine/engine/loader.h
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
#ifndef LOADER_H
|
||||||
|
#define LOADER_H
|
||||||
|
// Header
|
||||||
|
// Custom includes
|
||||||
|
#include "Common/Types.h"
|
||||||
|
// Other includes
|
||||||
|
#include <cstdint>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <filesystem>
|
||||||
|
|
||||||
|
// Stucts
|
||||||
|
struct GeoSurface {
|
||||||
|
uint32_t startIndex;
|
||||||
|
uint32_t count;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MeshAsset {
|
||||||
|
std::string name;
|
||||||
|
|
||||||
|
std::vector<GeoSurface> surfaces;
|
||||||
|
GPUMeshBuffers meshBuffers;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Forward declaration
|
||||||
|
|
||||||
|
class Engine;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef LOADER_IMPL
|
||||||
|
#ifndef LOADER_IMPL_H
|
||||||
|
#define LOADER_IMPL_H
|
||||||
|
// Main code file
|
||||||
|
// Includes
|
||||||
|
#include <fastgltf/core.hpp>
|
||||||
|
#include <fastgltf/types.hpp>
|
||||||
|
#include <fastgltf/glm_element_traits.hpp>
|
||||||
|
#include <fastgltf/tools.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
std::optional<std::vector<std::shared_ptr<MeshAsset>>> loadGltfMeshes(
|
||||||
|
Engine* engine,
|
||||||
|
std::filesystem::path filePath
|
||||||
|
) {
|
||||||
|
auto& logger = engine->_logger; // Uses the main logger
|
||||||
|
logger.logAll(LogModule::ENGINE, LogLevel::EINFO, "Loading GLTF: {}", filePath.string());
|
||||||
|
|
||||||
|
fastgltf::Parser parser;
|
||||||
|
fastgltf::Asset gltf;
|
||||||
|
auto data = fastgltf::GltfDataBuffer::FromPath(filePath);
|
||||||
|
|
||||||
|
constexpr auto gltfOptions {
|
||||||
|
fastgltf::Options::LoadExternalBuffers
|
||||||
|
};
|
||||||
|
|
||||||
|
auto load = parser.loadGltf(
|
||||||
|
data.get(),
|
||||||
|
filePath.parent_path(),
|
||||||
|
gltfOptions
|
||||||
|
);
|
||||||
|
|
||||||
|
if(load) {
|
||||||
|
gltf = std::move(load.get());
|
||||||
|
} else {
|
||||||
|
logger.logFatal(LogModule::ENGINE, "Failed to load gltf: {}", fastgltf::to_underlying(load.error()));
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::shared_ptr<MeshAsset>> meshes;
|
||||||
|
// Use the same vectors for all meshes
|
||||||
|
// so that the memory doesn't reallocate
|
||||||
|
// as often
|
||||||
|
|
||||||
|
std::vector<uint32_t> indices;
|
||||||
|
std::vector<Vertex> vertices;
|
||||||
|
|
||||||
|
|
||||||
|
// Debug things
|
||||||
|
return meshes;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
@ -14,19 +14,27 @@ class ArgHandler {
|
|||||||
CLI::App* _run;
|
CLI::App* _run;
|
||||||
// All options
|
// All options
|
||||||
bool _listGPU {false};
|
bool _listGPU {false};
|
||||||
int _gpuIndex {0};
|
int _gpuIndex {-1};
|
||||||
|
std::string _modelPath;
|
||||||
|
|
||||||
void buildArgs() {
|
void buildArgs() {
|
||||||
// Setup
|
// Setup
|
||||||
// Subcommands
|
// Subcommands
|
||||||
_run = _app.add_subcommand("run", "Starts the Engine");
|
_run = _app.add_subcommand("run");
|
||||||
|
|
||||||
// Main options/flags
|
// Main options/flags
|
||||||
_app.add_flag("--list-gpu", _listGPU, "Lists available Graphics cards, useful for debugging");
|
_app.add_flag("--list-gpu, -l", _listGPU, "Lists available Graphics cards, useful for debugging");
|
||||||
|
_app.set_version_flag("--version, -v", BUILD_ID);
|
||||||
|
|
||||||
|
// Help
|
||||||
|
//_app.set_help_all_flag("--help-all", "Expand all help");
|
||||||
|
_app.set_help_flag();
|
||||||
|
_app.set_help_all_flag("--help, -h", "Print help for all subcommands");
|
||||||
|
|
||||||
// Subcommand options/flags
|
// Subcommand options/flags
|
||||||
// Run
|
// Run
|
||||||
_run->add_option("--gpu, -g", _gpuIndex, "Manually select a GPU");
|
_run->add_option("--gpu, -g", _gpuIndex, "Manually select a GPU");
|
||||||
|
_run->add_option("--model, -m", _modelPath, "Overwrites the default model");
|
||||||
}
|
}
|
||||||
|
|
||||||
int dispatch(int argc, char* argv[]) {
|
int dispatch(int argc, char* argv[]) {
|
||||||
@ -57,6 +65,7 @@ int main(int argc, char* argv[]) {
|
|||||||
|
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
handler.printHelp();
|
handler.printHelp();
|
||||||
|
fmt::println("Please use -h or --help to see all available options.");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,7 +84,10 @@ int main(int argc, char* argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(handler._run->parsed()){
|
if(handler._run->parsed()){
|
||||||
engine.parseConfig(handler._gpuIndex);
|
engine.parseConfig(
|
||||||
|
handler._gpuIndex,
|
||||||
|
handler._modelPath
|
||||||
|
);
|
||||||
|
|
||||||
engine.init();
|
engine.init();
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user