Back to class indexv | zero[static][const] | identity[static][const] | nan[static][const] | ctor (+6 overloads) | GetScale()[const] | ComplementaryProjection()[const] | operator[](row) (+1 overload) | At(row,col) (+1 overload) | Row(row) (+1 overload) | Row3(row)[const] | Col(col)[const] | Diagonal()[const] | ScaleRow3(row,scalar) | ScaleRow(row,scalar) | ScaleCol3(col,scalar) | ScaleCol(col,scalar) | Float3x3Part()[const] | Float3x4Part() (+1 overload) | TranslatePart()[const] | RotatePart()[const] | X/Y/Z()[const] | ptr() (+1 overload) | SetRow3(row,data) (+2 overloads) | SetRow(row,data) (+3 overloads) | SetCol3(column,data) (+2 overloads) | SetCol(column,data) (+3 overloads) | Set(...) (+3 overloads) | Set3x3Part(rotation) | Set3x4Part(rotateTranslate) | SetIdentity() | SwapColumns(col1,col2) | SwapRows(row1,row2) | SetTranslatePart(tx,ty,tz) (+2 overloads) | SetRotatePart/X/Y/Z(...) (+2 overloads) | operator=(rhs) (+4 overloads) | Determinant3()[const] | Determinant4()[const] | SubMatrix(i,j)[const] | Minor(i,j)[const] | Adjugate()[const] | CholeskyDecompose(outL)[const] | LUDecompose(outLower,outUpper)[const] | Inverse(epsilon) | Inverted()[const] | InverseColOrthogonal() | InverseOrthogonalUniformScale() | InverseOrthonormal() | Transpose() | Transposed()[const] | InverseTranspose() | InverseTransposed()[const] | Trace()[const] | Orthogonalize3(...) (+1 overload) | Orthonormalize3(...) (+1 overload) | RemoveScale() | Pivot() | TransformPos(pointVector)[const] (+2 overloads) | TransformDir(directionVector)[const] (+2 overloads) | Transform(vector)[const] | TransformPos(...)[const] (+1 overload) | TransformDir(...)[const] (+1 overload) | Transform(...)[const] (+1 overload) | operator*(rhs)[const] (+5 overloads) | operator/(scalar)[const] | operator+(rhs)[const] | operator-(rhs)[const] (+1 overload) | operator+()[const] | operator*=(scalar) | operator/=(scalar) | operator+=(rhs) | operator-=(rhs) | IsFinite()[const] | IsIdentity(epsilon)[const] | IsLowerTriangular(epsilon)[const] | IsUpperTriangular(epsilon)[const] | IsInvertible(epsilon)[const] | IsSymmetric(epsilon)[const] | IsSkewSymmetric(epsilon)[const] | IsIdempotent(epsilon)[const] | HasUnitaryScale(epsilon)[const] | HasNegativeScale()[const] | HasUniformScale(epsilon)[const] | IsRowOrthogonal3(epsilon)[const] | IsColOrthogonal3(epsilon)[const] | IsOrthonormal3(epsilon)[const] | Equals(other,epsilon)[const] | ContainsProjection(epsilon)[const] | ToString()[const] | SerializeToString()[const] | ToString2()[const] | ToEuler***()[const] | ExtractScale()[const] | Decompose(...)[const] (+3 overloads) | Abs()[const] | Mul(rhs)[const] (+3 overloads) | MulPos(pointVector)[const] (+1 overload) | MulDir(directionVector)[const] (+1 overload) | Mul(vector)[const] | Translate(tx,ty,tz)[static] (+1 overload) | RotateX/Y/Z(...)[static] (+1 overload) | RotateAxisAngle(...)[static] (+1 overload) | RotateFromTo(...)[static] (+1 overload) | RandomGeneral(...)[static] | RotateFromTo(...)[static] (+1 overload) | FromQuat(orientation)[static] (+1 overload) | FromTRS(...)[static] (+3 overloads) | FromEuler***(x2,y,x)[static] | Scale(sx,sy,sz)[static] (+2 overloads) | ScaleAlongAxis(...)[static] (+1 overload) | UniformScale(uniformScale)[static] (+1 overload) | ShearX/Y/Z(yFactor,zFactor)[static] | Mirror(p)[static] | D3DOrthoProjLH(...)[static] | D3DOrthoProjRH(...)[static] | D3DPerspProjLH(...)[static] | D3DPerspProjRH(...)[static] | OpenGLOrthoProjLH(...)[static] | OpenGLOrthoProjRH(...)[static] | OpenGLPerspProjLH(...)[static] | OpenGLPerspProjRH(...)[static] | OrthographicProjection/YZ/XZ/XY(target)[static] | LookAt(...)[static] (+1 overload) |
| float4x4::D3DOrthoProjRHSyntaxfloat4x4 float4x4::D3DOrthoProjRH(float nearPlaneDistance, float farPlaneDistance, float horizontalViewportSize, float verticalViewportSize); [13 lines of code]Identical to D3DXMatrixOrthoRH, except transposed to account for Matrix * vector convention used in MathGeoLib. This function generates an orthographic projection matrix that maps from the Direct3D view space to the Direct3D normalized viewport space as follows: See http://msdn.microsoft.com/en-us/library/windows/desktop/bb205349(v=vs.85).aspx
In Direct3D view space, we assume that the camera is positioned at the origin (0,0,0). The camera looks directly towards the positive Z axis (0,0,1). The -X axis spans to the left of the screen, +X goes to the right. -Y goes to the bottom of the screen, +Y goes to the top. After the transformation, we're in the Direct3D normalized viewport space as follows: (-1,-1,0) is the bottom-left corner of the viewport at the near plane. (1,1,0) is the top-right corner of the viewport at the near plane. (0,0,0) is the center point at the near plane. Coordinates with z=1 are at the far plane. Examples: (0,0,n) maps to (0,0,0). (0,0,f) maps to (0,0,1). (-h/2, -v/2, n) maps to (-1, -1, 0). (h/2, v/2, f) maps to (1, 1, 1). Note Use the M*v multiplication order to project points with this matrix. |