diff --git a/src/bin/wireframe/ray.wgsl b/src/bin/wireframe/ray.wgsl index 2d9362d..a014ed9 100644 --- a/src/bin/wireframe/ray.wgsl +++ b/src/bin/wireframe/ray.wgsl @@ -48,7 +48,8 @@ fn vs_main(seg: SegmentInput, off: OffsetInput) -> VertexOutput { default: {} } let pt_cs = camera.mvp * vec4(pt, 1.); - let dir_cs = camera.mvp * vec4(dir, 0.); + let dir_cs0 = camera.mvp * vec4(dir, 0.); + let dir_cs = dir_cs0.xyz * pt_cs.w - pt_cs.xyz * dir_cs0.w; let normal_cs = camera.scale * normalize(vec2(-dir_cs.y, dir_cs.x)); out.clip_position = pt_cs + vec4(sgn * width * normal_cs, 0., 0.); return out;