diff --git a/include/Nazara/Graphics/FramePipeline.hpp b/include/Nazara/Graphics/FramePipeline.hpp index 922b20e87..09317ddab 100644 --- a/include/Nazara/Graphics/FramePipeline.hpp +++ b/include/Nazara/Graphics/FramePipeline.hpp @@ -66,6 +66,8 @@ namespace Nz FramePipeline& operator=(const FramePipeline&) = delete; FramePipeline& operator=(FramePipeline&&) noexcept = default; + NazaraSignal(OnTransfer, FramePipeline* /*pipeline*/, RenderFrame& /*renderFrame*/, CommandBufferBuilder& /*builder*/); + private: std::vector> m_elementRenderers; DebugDrawer m_debugDrawer; diff --git a/include/Nazara/Graphics/ViewerInstance.inl b/include/Nazara/Graphics/ViewerInstance.inl index beb621f66..c4c9d631b 100644 --- a/include/Nazara/Graphics/ViewerInstance.inl +++ b/include/Nazara/Graphics/ViewerInstance.inl @@ -70,6 +70,9 @@ namespace Nz if (!m_projectionMatrix.GetInverse(&m_invProjectionMatrix)) NazaraError("failed to inverse projection matrix"); + m_viewProjMatrix = m_viewMatrix * m_projectionMatrix; + m_invViewProjMatrix = m_invProjectionMatrix * m_invViewMatrix; + m_dataInvalidated = true; } @@ -78,6 +81,9 @@ namespace Nz m_projectionMatrix = projectionMatrix; m_invProjectionMatrix = invProjectionMatrix; + m_viewProjMatrix = m_viewMatrix * m_projectionMatrix; + m_invViewProjMatrix = m_invProjectionMatrix * m_invViewMatrix; + m_dataInvalidated = true; } @@ -91,9 +97,8 @@ namespace Nz if (!m_viewMatrix.GetInverseTransform(&m_invViewMatrix)) NazaraError("failed to inverse view matrix"); - m_viewProjMatrix = m_projectionMatrix * m_viewMatrix; - if (!m_viewProjMatrix.GetInverse(&m_invViewProjMatrix)) - NazaraError("failed to inverse view proj matrix"); + m_viewProjMatrix = m_viewMatrix * m_projectionMatrix; + m_invViewProjMatrix = m_invProjectionMatrix * m_invViewMatrix; m_dataInvalidated = true; } diff --git a/src/Nazara/Graphics/SpriteChainRenderer.cpp b/src/Nazara/Graphics/SpriteChainRenderer.cpp index ec0315e08..0619ea81b 100644 --- a/src/Nazara/Graphics/SpriteChainRenderer.cpp +++ b/src/Nazara/Graphics/SpriteChainRenderer.cpp @@ -330,7 +330,7 @@ namespace Nz for (auto& vertexBufferPtr : data.vertexBuffers) { - currentFrame.PushReleaseCallback([pool = m_vertexBufferPool, vertexBuffer = std::move(vertexBufferPtr)]() + currentFrame.PushReleaseCallback([pool = m_vertexBufferPool, vertexBuffer = std::move(vertexBufferPtr)]() mutable { pool->vertexBuffers.push_back(std::move(vertexBuffer)); }); diff --git a/src/Nazara/VulkanRenderer/Wrapper/Device.cpp b/src/Nazara/VulkanRenderer/Wrapper/Device.cpp index 38fa680d9..7931ce07a 100644 --- a/src/Nazara/VulkanRenderer/Wrapper/Device.cpp +++ b/src/Nazara/VulkanRenderer/Wrapper/Device.cpp @@ -12,7 +12,6 @@ #include #define VMA_IMPLEMENTATION -#define VMA_USE_STL_CONTAINERS 1 #define VMA_STATIC_VULKAN_FUNCTIONS 0 #include