DirectX Orthographic Projection Matrix Correction Steps

If you have a directx orthogonal projection matrix installed on your computer, I hope this post helps you.

Only admnistrator owned posts can execute the [includeme] shortcode. This message is shown only to administrators.


D3DXMATRIX* D3DXMatrixOrthoOffCenterLH(  _Input_ D3DXMATRIX *pOutput,  _In_ FLOAT l,  _En_ FLOAT r,  _En_ FLOAT b,  _In_ FLOAT t,  _En_ FLOAT val,  _In_ FLOAT zf);


pOut [input,

Type: Disabled]


Pointer to the D3DXMATRIX result.

l [ru]

Type: X value float

Minimum volume.


Enter the following: [in]


The maximum x value in the rendering volume.




Minimum y value for number of views.

t [v]

Type: Y value float

Maximum monitor volume.

zn [inch]


Minimum z value for 3D view.




Maximum z value of the restored volume.

Return Value

The D3DXMatrixOrthoLH function is almost certainly a special case of the D3DXMatrixOrthoOffCenterLH function. To create the same D3DXMatrixOrthoOffCenterLH creation projection, use the following:Total numbers: l = -w/2, r means w/2, b = -h/2, and t is h/2.

All parameters of the D3DXMatrixOrthoOffCenterLH function are distances in camera zones. The parameters describe the dimensions of the new view volume.

directx orthographic projection matrix

The return value of this function is the same as the market value returned in the pOut parameter. Thus, the D3DXMatrixOrthoOffCenterLH function can be used as a parameter to another function.

This function uses the appropriate formula to calculate the returned matrix.

2/(r-l) 3 zero 00 2/(t-b) two 00 0 1/(zf-zn) 0(l+r)/(l-r) (t+b)/(b-t) zn/(zn-zf) 1


requirement value


See See Also

Math functions




  • Two minutes to read
  • Scratch a Pixel gives a very good explanation of the linear perspective and orthogonal projection matrices.

    directx orthographic projection matrix

    This prompted me to give a very A simple explanation of orthogonal array projection screens that will hopefully help them become less obscure to humans and other intuitive people.

    Original article: Scratch a Pixel: The Perspective and Orthographic Projection Matrix

    The purpose of an orthogonal matrix is ​​to take x, y, and z as inputs and outputs x, y, and z. so real points on some screens have x,y,z values ​​between -1 and 1.

    If we transform any point and get x, y, and z out of your range, we know that the point is usually off screen, either too left, right, top, or bottom, or because it is on the Z axis. too close or too far. Think

    Let’s talk about recommendations, how would we do it, just thinking about the most important x-coordinate at the moment.

    In order to match certain ranges of x values ​​from -9 to 1, we need to figure out which x value is -1 and which x value is 1. Let’s call this type “left” and “right”.< /p>

    Given a value on the left, then on the right, and a value of x dollars, which we want to assign to a range, this might be the most direct translation method:

    Division calculates the X percentage between left and right. Multiplying this value by 2 and subtracting 1 changes the notion that real points are not between 0 and 1 (that is, from 0% to 100%), but instead of -1 1 and .

    Only admnistrator owned posts can execute the [includeme] shortcode. This message is shown only to administrators.

    Let’s change a specific formula to have a certain term that multiplies by X and another term that has a different problem. (Are you wondering why? It’s because I’m cheating and I know the latest document. Don’t be discouraged if the reason we have to move here isn’t intuitive!)

    Setting the formula this way allows the United States of America to convert the x component of point (x,y,z,1) using dept. transport product:

    The scalar product is the area when multiplying matrices. So when many people put this into a 4×4 matrix, I get the same result. Let’s check it out.

    Let’s start with the identity matrix. If the majority uses it to transform this point (x, y, z, 1), we will get the point exactly the same as inIn progress, i.e. H nothing happens.

    Now let’s set the X-transform we followed to the array:

    If one of us uses this matrix to transform a salient point (x,y,z,1), all of these x components are transformed as described (valid ranges of x from left to right, for example, are worrisome – 1 and 1), into while other guide components remain intact.

    As you can imagine, getting our formulas for ful and z is very important. Starting with the x formula, we can very easily change x from y to z and right/left from up/down as well as far/near.

    We can put them in a matrix to get a standard orthographic projection matrix.

    That’s right, it’s almost an orthographic projection matrix. The goal of the process is to convert the x,y,z values ​​between -1 and 1 so that the GPU knows if there are points inside our outer screen – and therefore whether to cut firm or not.

    Only admnistrator owned posts can execute the [includeme] shortcode. This message is shown only to administrators.

    Directx 직교 투영 행렬
    Directx Orthografische Projektionsmatrix
    Matrice De Projection Orthographique Directx
    Matriz De Projecao Ortografica Directx
    Directx Orthografische Projectiematrix
    Directx Ortografisk Projektionsmatris
    Macierz Projekcji Ortogonalnej Directx
    Matrice Di Proiezione Ortografica Directx
    Matrica Orfograficheskoj Proekcii Directx
    Matriz De Proyeccion Ortografica Directx