OK, if you want to look up/down then you’ll need the pseudo-pitch I mentioned.

When you construct your view matrix for a normal camera, you’d usually do it by combining some rotations for yaw and pitch (and maybe roll). The shear matrix I’m talking about would replace the pitch rotation.

If your camera starts out in standard position, facing along the -Z axis, you’d normally do a X-rotation to pitch it. Instead, you’re going to do a YZ shear, meaning there will be an offset along the Y axis proportional to position along the Z axis. The matrix for it will go like:

```
[1 0 0]
[x y z] [0 1 0] = [x y+az z]
[0 a 1]
```

The value ‘a’ there is the shear amount, which is equal to the tangent of the pitch angle. The matrix above is written for row-vector math; transpose it if you’re using column vectors in your app. Move the ‘a’ to a different component of the matrix if you need to shear along different axes.

@stainless: i meant ‘2 years’ as a good thing.

I’ll be using directx (everything i listed in the original post).

Thanks