mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-10-05 20:01:39 +00:00
Add detection/support for reverse-z projection matrices. Refs #169
This commit is contained in:
1 parent
01bffe6a09
commit
ae91bdcde2
4 files changed
+49
-4
No files matched your search
@@ -391,3 +391,17 @@ Matrix4f Matrix4f::Perspective(const float degfov, const float N, const float F,
|
||||
|
||||
return Matrix4f(persp);
|
||||
}
|
||||
|
||||
Matrix4f Matrix4f::ReversePerspective(const float degfov, const float N, const float A)
|
||||
{
|
||||
const float radfov = degfov * (3.1415926535f/180.0f);
|
||||
float S = 1/tanf(radfov * 0.5f);
|
||||
|
||||
float persp[16] = { S/A, 0.0f, 0.0f, 0.0f,
|
||||
0.0f, S, 0.0f, 0.0f,
|
||||
0.0f, 0.0f, 0.0f, 1.0f,
|
||||
0.0f, 0.0f, N, 0.0f,
|
||||
};
|
||||
|
||||
return Matrix4f(persp);
|
||||
}
|
||||
@@ -60,6 +60,7 @@ class Matrix4f
|
||||
static Matrix4f RotationZYX(const Vec3f &rot);
|
||||
static Matrix4f Orthographic(const float nearplane, const float farplane);
|
||||
static Matrix4f Perspective(const float degfov, const float nearplane, const float farplane, const float aspect);
|
||||
static Matrix4f ReversePerspective(const float degfov, const float nearplane, const float aspect);
|
||||
|
||||
inline float operator[](const size_t i) const
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user