fix: remove row_major from GLSL — fixes fish-eye and broken projection
Root cause: System.Numerics.Matrix4x4 uses row-major storage with row-vector convention (v * M). GLSL with layout(row_major) does column-vector (M * v), which effectively transposes the matrix, breaking the projection. Fix: remove row_major from layout qualifiers. GLSL then interprets the row-major data as column-major (effectively transposing it), so M * v in GLSL equals v * M in System.Numerics — correct result. The Y-flip (M22 *= -1) is still needed for Vulkan's Y-down clip space.
This commit is contained in:
Binary file not shown.
Reference in New Issue
Block a user