Skip to content

Commit

Permalink
Back ported resolution for issue #71 for znear == 0 bug into branch 0…
Browse files Browse the repository at this point in the history
….9.4
  • Loading branch information
Christophe Riccio committed May 28, 2013
1 parent e5df5fb commit f4f7a71
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions glm/gtc/matrix_transform.inl
Original file line number Diff line number Diff line change
Expand Up @@ -236,21 +236,19 @@ namespace glm
valType const & zFar
)
{
assert(aspect != valType(0));
assert(zFar != zNear);

#ifdef GLM_FORCE_RADIANS
valType const rad = fovy;
#else
valType const rad = glm::radians(fovy);
#endif

valType range = tan(rad / valType(2)) * zNear;
valType left = -range * aspect;
valType right = range * aspect;
valType bottom = -range;
valType top = range;

valType tanHalfFovy = tan(rad / valType(2));
detail::tmat4x4<valType> Result(valType(0));
Result[0][0] = (valType(2) * zNear) / (right - left);
Result[1][1] = (valType(2) * zNear) / (top - bottom);
Result[0][0] = valType(1) / (aspect * tanHalfFovy);
Result[1][1] = valType(1) / (tanHalfFovy);
Result[2][2] = - (zFar + zNear) / (zFar - zNear);
Result[2][3] = - valType(1);
Result[3][2] = - (valType(2) * zFar * zNear) / (zFar - zNear);
Expand Down

0 comments on commit f4f7a71

Please sign in to comment.