D3DXMatrixOrthoOffCenterLH 函数 (D3DX10Math.h)

注意

D3DX10 实用工具库已弃用。 建议改用 DirectXMath

生成自定义的左手正交投影矩阵。

语法

D3DXMATRIX* D3DXMatrixOrthoOffCenterLH(
  _Inout_ D3DXMATRIX *pOut,
  _In_    FLOAT      l,
  _In_    FLOAT      r,
  _In_    FLOAT      b,
  _In_    FLOAT      t,
  _In_    FLOAT      zn,
  _In_    FLOAT      zf
);

参数

pOut [in, out]

类型: D3DXMATRIX*

指向生成的 D3DXMATRIX 的指针。

l [in]

类型: FLOAT

视图卷的最小 x 值。

r [in]

类型: FLOAT

视图卷的最大 x 值。

b [in]

类型: FLOAT

视图卷的最小 y 值。

t [in]

类型: FLOAT

视图卷的最大 y 值。

zn [in]

类型: FLOAT

视图卷的最小 z 值。

zf [in]

类型: FLOAT

视图卷的最大 z 值。

返回值

类型: D3DXMATRIX*

指向生成的 D3DXMATRIX 的指针。

备注

D3DXMatrixOrthoLH 是 D3DXMatrixOrthoOffCenterLH 函数的一种特例。 若要使用 D3DXMatrixOrthoOffCenterLH 创建相同的投影,请使用以下值:

l = -w/2,

r = w/2,

b = -h/2, and

t = h/2。

D3DXMatrixOrthoOffCenterLH 函数的所有参数都是相机空间中的距离。 参数描述视图卷的尺寸。

此函数的返回值与 pOut 参数中返回的值相同。 这样,D3DXMatrixOrthoOffCenterLH 函数可用作另一个函数的参数。

此函数使用以下公式计算返回的矩阵。

2/(r-l)      0            0           0
0            2/(t-b)      0           0
0            0            1/(zf-zn)   0
(l+r)/(l-r)  (t+b)/(b-t)  zn/(zn-zf)  1

要求

要求
标头
D3DX10Math.h

D3DX10.lib

另请参阅

数学函数