diff options
Diffstat (limited to 'src/3d')
| -rw-r--r-- | src/3d/renderer.h | 8 | ||||
| -rw-r--r-- | src/3d/renderer_pipelines.cc | 1 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/3d/renderer.h b/src/3d/renderer.h index 4c31c97..11a7931 100644 --- a/src/3d/renderer.h +++ b/src/3d/renderer.h @@ -24,12 +24,9 @@ struct GlobalUniforms { vec2 resolution; vec2 padding; - // Transpose matrices: mini_math is row-major, WGSL expects column-major. static GlobalUniforms make(const mat4& vp, const vec4& cam_pos_time, const vec4& p, const vec2& res) { - return {mat4::transpose(vp), mat4::transpose(vp.inverse()), - cam_pos_time, p, - res, vec2(0.0f, 0.0f)}; + return {vp, vp.inverse(), cam_pos_time, p, res, vec2(0.0f, 0.0f)}; } }; @@ -42,9 +39,8 @@ struct ObjectData { // applicable) vec4 params; - // Transpose matrices: mini_math is row-major, WGSL expects column-major. static ObjectData make(const mat4& m, const vec4& col, const vec4& p) { - return {mat4::transpose(m), mat4::transpose(m.inverse()), col, p}; + return {m, m.inverse(), col, p}; } }; diff --git a/src/3d/renderer_pipelines.cc b/src/3d/renderer_pipelines.cc index be4a317..2950a7f 100644 --- a/src/3d/renderer_pipelines.cc +++ b/src/3d/renderer_pipelines.cc @@ -249,6 +249,7 @@ void Renderer3D::create_mesh_pipeline() { pipeline_desc.vertex.buffers = &vert_buffer_layout; pipeline_desc.primitive.topology = WGPUPrimitiveTopology_TriangleList; pipeline_desc.primitive.cullMode = WGPUCullMode_Back; + pipeline_desc.primitive.frontFace = WGPUFrontFace_CW; // Y-flipped perspective pipeline_desc.multisample.count = 1; pipeline_desc.fragment = &fragment_state; pipeline_desc.depthStencil = &depth_stencil; |
