如何设置2D窗口

时间:2011-01-04 22:03:37

标签: c++ directx directx-9

如何在Directx中设置2d视图? 这个OpenGL有没有类似的功能?

gluOrtho2D( 0 , 800 , 0 , 600 );

3 个答案:

答案 0 :(得分:2)

DirectX 9中的平等调用将是D3DXMatrixOrthoRH - 但是,如果您尝试使用其他DirectX代码,则很可能需要使用左手版本,因为DirectX 9通常在左侧完成手动坐标系(而不是像OpenGL那样的RH)。左手版本是D3DXMatrixOrthoLH

答案 1 :(得分:1)

您可以使用以下内容:http://msdn.microsoft.com/en-us/library/bb204940(v=vs.85).aspx为您创建一个正交投影矩阵,但实际上这会影响您的渲染并不像使用固定功能(版本1.x样式)那么简单OpenGL编程。 DirectX没有立即模式,因此您需要设置适当的着色器来进行渲染,创建正交投影矩阵,并将其传递给着色器(并在着色器代码中使用它)。

答案 2 :(得分:1)

来自manual

构建左手正投影矩阵。

D3DXMATRIX * D3DXMatrixOrthoLH( __inout D3DXMATRIX *pOut, __in FLOAT w, __in FLOAT h, __in FLOAT zn, __in FLOAT zf );