Guest User

Untitled

a guest
Jul 15th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. void Frustum::genProjectionMatrix(double near, double far, double aspect,
  2. double fov)
  3. {
  4. projectionMatrix->zero();
  5. float v1, v2, v3, v4;
  6. float fovR = fov * M_PI / 180;
  7.  
  8. v1 = 1 / (aspect*tan(fovR/2));
  9. v2 = 1 / tan(fovR/2);
  10. v3 = (near+far) / (near-far);
  11. v4 = (2*near*far) / (near-far);
  12.  
  13. projectionMatrix->set(0, 0, v1);
  14. projectionMatrix->set(1, 1, v2);
  15. projectionMatrix->set(2, 2, v3);
  16. projectionMatrix->set(2, 3, v4);
  17. projectionMatrix->set(3, 2, -1);
  18. }
Add Comment
Please, Sign In to add comment