Как настроить 2d просмотр в Directx? Есть ли какая-либо функция, похожая на эту OpenGL?
gluOrtho2D( 0 , 800 , 0 , 600 );
Эквивалентный вызов в DirectX 9 будет D3DXMatrixOrthoRH - Однако вы, скорее всего, захотите использовать левостороннюю версию, если вы пытаетесь следовать другому коду DirectX, поскольку DirectX 9 часто выполняетсялевосторонняя система координат (вместо RH, как OpenGL).Версия для левой руки: D3DXMatrixOrthoLH .
Из руководства :
Создает левую матрицу ортографической проекции.
D3DXMATRIX * D3DXMatrixOrthoLH( __inout D3DXMATRIX *pOut, __in FLOAT w, __in FLOAT h, __in FLOAT zn, __in FLOAT zf );
Вы можете использовать что-то вроде этого: http://msdn.microsoft.com/en-us/library/bb204940(v=vs.85).aspx, чтобы создать для вас матрицу ортографической проекции, однако на самом деле получить это, чтобы повлиять на ваш рендеринг, не так просто, как с фиксированной функцией (стиль версии 1.x).) Программирование OpenGL.DirectX не имеет непосредственного режима, поэтому вам нужно будет установить соответствующий шейдер для рендеринга, создать матрицу ортографической проекции и передать ее шейдеру (и использовать его в коде шейдера).