Matrix4x3d.orthoSymmetric
- Matrix4x3d orthoSymmetric(double width, double height, double zNear, double zFar, bool zZeroToOne, Matrix4x3d dest)
- Matrix4x3d orthoSymmetric(double width, double height, double zNear, double zFar, Matrix4x3d dest)
- Matrix4x3d orthoSymmetric(double width, double height, double zNear, double zFar, bool zZeroToOne)
struct Matrix4x3d
ref public return
orthoSymmetric
- Matrix4x3d orthoSymmetric(double width, double height, double zNear, double zFar)
doml matrix_4x3d Matrix4x3d
constructorsfunctionsstatic variablesvariables
Apply a symmetric orthographic projection transformation for a right-handed coordinate system using the given NDC z range to this matrix. <p> This method is equivalent to calling {@link #ortho(double, double, double, double, double, double, bool) ortho()} with <code>left=-width/2</code>, <code>right=+width/2</code>, <code>bottom=-height/2</code> and <code>top=+height/2</code>. <p> If <code>M</code> is <code>this</code> matrix and <code>O</code> the orthographic projection matrix, then the new matrix will be <code>M * O</code>. So when transforming a vector <code>v</code> with the new matrix by using <code>M * O * v</code>, the orthographic projection transformation will be applied first! <p> In order to set the matrix to a symmetric orthographic projection without post-multiplying it, use {@link #setOrthoSymmetric(double, double, double, double, bool) setOrthoSymmetric()}. <p> Reference: <a href="http://www.songho.ca/opengl/gl_projectionmatrix.html#ortho">http://www.songho.ca</a>
@see #setOrthoSymmetric(double, double, double, double, bool)
@param width the distance between the right and left frustum edges @param height the distance between the top and bottom frustum edges @param zNear near clipping plane distance @param zFar far clipping plane distance @param zZeroToOne whether to use Vulkan's and Direct3D's NDC z range of <code>[0..+1]</code> when <code>true</code> or whether to use OpenGL's NDC z range of <code>[-1..+1]</code> when <code>false</code> @return this