|
|
@@ -243,15 +243,11 @@ namespace glm
|
|
|
#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, defaultp> 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);
|