Описывает вектор в трехмерном пространстве:
typedef struct D3DXVECTOR3 : public D3DVECTOR { public: D3DXVECTOR3() {}; D3DXVECTOR3( CONST FLOAT * ); D3DXVECTOR3( CONST D3DVECTOR& ); D3DXVECTOR3( FLOAT x, FLOAT y, FLOAT z ); // casting operator FLOAT* (); operator CONST FLOAT* () const; // операторы назначения D3DXVECTOR3& operator += ( CONST D3DXVECTOR3& ); D3DXVECTOR3& operator -= ( CONST D3DXVECTOR3& ); D3DXVECTOR3& operator *= ( FLOAT ); D3DXVECTOR3& operator /= ( FLOAT ); // одиночные операторы D3DXVECTOR3 operator + () const; D3DXVECTOR3 operator - () const; // двойные операторы D3DXVECTOR3 operator + ( CONST D3DXVECTOR3& ) const; D3DXVECTOR3 operator - ( CONST D3DXVECTOR3& ) const; D3DXVECTOR3 operator * ( FLOAT ) const; D3DXVECTOR3 operator / ( FLOAT ) const; friend D3DXVECTOR3 operator * ( FLOAT, CONST struct D3DXVECTOR3& ); BOOL operator == ( CONST D3DXVECTOR3& ) const; BOOL operator != ( CONST D3DXVECTOR3& ) const; } D3DXVECTOR3, *LPD3DXVECTOR3;
x - значение х.
y - значение y.
z - значение z.
Эта структура получает значения x, y и z от структуры D3DVECTOR. Программируя в С, Вы не можете использовать структуру D3DXVECTOR3, для этого используйте структуру D3DVECTOR.
В C++ можно использовать операторы перегрузки. В C++ используя структуру D3DXVECTOR3 Вы тем самым перегружаете конструкторы, операторы назначения, одиночные и двойные параметры (включая равно).
Заголовки: объявить D3dx8math.h.
См. раздел Direct3D: "Шаг 13 - Вращаем разноцветный трехмерный треугольник".