diff --git a/GlitchyEditor/content/Shaders/myEffect.hlsl b/GlitchyEditor/content/Shaders/myEffect.hlsl index 6f0f45c..afa9e70 100644 --- a/GlitchyEditor/content/Shaders/myEffect.hlsl +++ b/GlitchyEditor/content/Shaders/myEffect.hlsl @@ -31,7 +31,7 @@ cbuffer ObjectConstants : register(b1) * \brief Inverted and transposed transform matrix. * \remarks This matrix is used in order to correctly transform normal vectors. */ - float3x3 Transform_InvT; + float4x3 Transform_InvT; #ifdef OutputEntityId uint EntityId; #endif diff --git a/GlitchyEngine/src/Renderer/Renderer.bf b/GlitchyEngine/src/Renderer/Renderer.bf index 8a5910c..7bc0da6 100644 --- a/GlitchyEngine/src/Renderer/Renderer.bf +++ b/GlitchyEngine/src/Renderer/Renderer.bf @@ -96,13 +96,13 @@ namespace GlitchyEngine.Renderer static Buffer _sceneBuffer; static Buffer _objectBuffer; - [Ordered] + [Ordered, CRepr] struct ObjectConstantsBuffer { public Matrix Transform; public Matrix4x3 Transform_InvT; + public uint32 EntityId; - private Vector3 _padding; } @@ -310,7 +310,7 @@ namespace GlitchyEngine.Renderer { Debug.Profiler.ProfileRendererScope!("Update object buffer"); - ObjectConstantsBuffer objectData; + ObjectConstantsBuffer objectData = ?; objectData.Transform = entry.Transform; Matrix4x3 mat = Matrix4x3((Matrix3x3)(entry.Transform).Invert().Transpose());