Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static Float4x4 PerspectiveLH(Float fov, Float aspectRatio, Float near, Float far)
- {
- Float2 angles = Math::SinCos(0.5f * fov);
- Float height = angles.y / angles.x;
- Float width = height / aspectRatio;
- Float range = far / (far - near);
- Float4x4 matrix;
- matrix[0][0] = width;
- matrix[0][1] = 0.0f;
- matrix[0][2] = 0.0f;
- matrix[0][3] = 0.0f;
- matrix[1][0] = 0.0f;
- matrix[1][1] = height;
- matrix[1][2] = 0.0f;
- matrix[1][3] = 0.0f;
- matrix[2][0] = 0.0f;
- matrix[2][1] = 0.0f;
- matrix[2][2] = range;
- matrix[2][3] = 1.0f;
- matrix[3][0] = 0.0f;
- matrix[3][1] = 0.0f;
- matrix[3][2] = -range * near;
- matrix[3][3] = 0.0f;
- return matrix;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement