Projection
- World-space view:
x = -visible_width/2 x = +visible_width/2
y = -visible_height/2 ┌────────────────────────────┐
│ │
│ (0,0) │
│ ┼── +x │
│ │ │
│ ▼ +y │
│ │
y = +visible_height/2 └────────────────────────────┘
- Clip-space output:
x = -1.0 x = +1.0
y = -1.0 ┌──────────────────┐
│ │
│ Right Hand Ortho │
│ (with flipped Y) │
│ │
y = +1.0 └──────────────────┘
z: 0.0 --> -1.0
near far
After projection it gets converted to the actual WebGPU device coordinates (Normalized Device Coordinates):
x = -1.0 x = +1.0
y = -1.0 ┌──────────────────┐
│ │
│ NDC (WebGPU) │
│ │
y = +1.0 └──────────────────┘
depth: 0.0 --> 1.0
near far