diff --git a/.gitmodules b/.gitmodules index 50c1e3e..eb037e1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -44,3 +44,6 @@ [submodule "destrum/third_party/imgui"] path = destrum/third_party/imgui url = https://github.com/ocornut/imgui.git +[submodule "destrum/third_party/jolt"] + path = destrum/third_party/jolt + url = https://github.com/jrouwe/JoltPhysics.git diff --git a/destrum/CMakeLists.txt b/destrum/CMakeLists.txt index 74548d3..71fb46f 100644 --- a/destrum/CMakeLists.txt +++ b/destrum/CMakeLists.txt @@ -64,6 +64,9 @@ set_target_properties(destrum PROPERTIES #target_add_extra_warnings(destrum) target_include_directories(destrum PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include") +target_include_directories(destrum PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/third_party/jolt" +) target_link_libraries(destrum PUBLIC @@ -78,6 +81,7 @@ target_link_libraries(destrum tinygltf assimp imgui + Jolt PRIVATE freetype::freetype diff --git a/destrum/src/App.cpp b/destrum/src/App.cpp index 4653943..5ba01ab 100644 --- a/destrum/src/App.cpp +++ b/destrum/src/App.cpp @@ -10,6 +10,8 @@ #include "glm/gtx/transform.hpp" #include "spdlog/spdlog.h" +#include + App::App() { } diff --git a/destrum/src/Graphics/Resources/Cubemap.cpp b/destrum/src/Graphics/Resources/Cubemap.cpp index 17c860d..e8ce792 100644 --- a/destrum/src/Graphics/Resources/Cubemap.cpp +++ b/destrum/src/Graphics/Resources/Cubemap.cpp @@ -110,6 +110,7 @@ void CubeMap::RenderToCubemap(ImageID inputImage, vkCmdSetScissor(cmd, 0, 1, &scissor); m_cubemapPipeline->bind(cmd); + vkCmdSetPolygonModeEXT(cmd, VK_POLYGON_MODE_FILL); gfx.bindBindlessDescSet(cmd, m_cubemapPipelineLayout); vkCmdPushConstants( diff --git a/destrum/third_party/CMakeLists.txt b/destrum/third_party/CMakeLists.txt index 9abec86..97ecf76 100644 --- a/destrum/third_party/CMakeLists.txt +++ b/destrum/third_party/CMakeLists.txt @@ -93,4 +93,32 @@ target_compile_definitions(imgui PUBLIC target_link_libraries(imgui PUBLIC SDL2::SDL2 volk -) \ No newline at end of file +) + +# Jolt Physics +set(DOUBLE_PRECISION OFF CACHE BOOL "" FORCE) +set(GENERATE_DEBUG_SYMBOLS ON CACHE BOOL "" FORCE) +set(OVERRIDE_CXX_FLAGS OFF CACHE BOOL "" FORCE) +set(CROSS_PLATFORM_DETERMINISTIC OFF CACHE BOOL "" FORCE) +set(INTERPROCEDURAL_OPTIMIZATION OFF CACHE BOOL "" FORCE) +set(FLOATING_POINT_EXCEPTIONS_ENABLED OFF CACHE BOOL "" FORCE) +set(CPP_EXCEPTIONS_ENABLED OFF CACHE BOOL "" FORCE) +set(CPP_RTTI_ENABLED OFF CACHE BOOL "" FORCE) +set(OBJECT_LAYER_BITS 16 CACHE STRING "" FORCE) + +# Important for MSVC: +# OFF = use /MD or /MDd, matching your current project +# ON = use /MT or /MTd +set(USE_STATIC_MSVC_RUNTIME_LIBRARY OFF CACHE BOOL "" FORCE) + +set(USE_SSE4_1 ON CACHE BOOL "" FORCE) +set(USE_SSE4_2 ON CACHE BOOL "" FORCE) +set(USE_AVX ON CACHE BOOL "" FORCE) +set(USE_AVX2 ON CACHE BOOL "" FORCE) +set(USE_AVX512 OFF CACHE BOOL "" FORCE) +set(USE_LZCNT ON CACHE BOOL "" FORCE) +set(USE_TZCNT ON CACHE BOOL "" FORCE) +set(USE_F16C ON CACHE BOOL "" FORCE) +set(USE_FMADD ON CACHE BOOL "" FORCE) + +add_subdirectory(jolt/Build) diff --git a/destrum/third_party/jolt b/destrum/third_party/jolt new file mode 160000 index 0000000..33a8797 --- /dev/null +++ b/destrum/third_party/jolt @@ -0,0 +1 @@ +Subproject commit 33a879752128c3740f8277301aefbab06bad76fb