Введение в программирование трехмерных игр с DX9

       

Некоторые функции для преобразования векторов


Некоторые функции для преобразования векторов

Библиотека D3DX предоставляет две функции для преобразования точек и векторов соответственно. Функция D3DXVec3TransformCoord используется для преобразования точек и предполагает, что четвертая компонента вектора равна 1. Функция D3DXVec3TransformNormal используется для преобразования векторов и предполагает, что четвертая компонента вектора равна 0.

D3DXVECTOR3 *D3DXVec3TransformCoord( D3DXVECTOR3* pOut, // Результат CONST D3DXVECTOR3* pV, // Преобразуемая точка CONST D3DXMATRIX* pM // Матрица преобразования );

D3DXMATRIX T(...); // инициализация матрицы преобразований D3DXVECTOR3 p(...); // инициализация точки D3DXVec3TransformCoord(&p, &p, &T); // преобразование точки

D3DXVECTOR3 *D3DXVec3TransformNormal( D3DXVECTOR3 *pOut, // Результат CONST D3DXVECTOR3 *pV, // Преобразуемый вектор CONST D3DXMATRIX *pM // Матрица преобразования );

D3DXMATRIX T(...); // инициализация матрицы преобразований D3DXVECTOR3 v(...); // инициализация вектора D3DXVec3TransformNormal(&v, &v, &T); // преобразование вектора

ПРИМЕЧАНИЕ

Библиотека D3DX также предоставляет функции D3DXVec3TransformCoordArray и D3DXVec3TransformNormalArray для преобразования массива точек и массива векторов соответственно.

Содержание раздела