31 #ifndef WINTERMUTE_XMATH_H 32 #define WINTERMUTE_XMATH_H 34 #include "engines/wintermute/math/rect32.h" 38 #if defined(SCUMMVM_USE_PRAGMA_PACK) 60 operator const float* ()
const;
75 bool operator == (
const DXVector3 &)
const;
76 bool operator != (
const DXVector3 &)
const;
87 DXVector4(
float fx,
float fy,
float fz,
float fw);
90 operator const float* ()
const;
104 operator const float* ()
const;
119 float _11, _12, _13, _14;
120 float _21, _22, _23, _24;
121 float _31, _32, _33, _34;
122 float _41, _42, _43, _44;
131 float &operator () (uint32 row, uint32 col);
134 operator const float* ()
const;
148 #if defined(SCUMMVM_USE_PRAGMA_PACK) 153 DXMatrix *DXMatrixPerspectiveFovLH(
DXMatrix *pout,
float fovy,
float aspect,
float zn,
float zf);
154 DXMatrix *DXMatrixPerspectiveFovRH(
DXMatrix *pout,
float fovy,
float aspect,
float zn,
float zf);
157 DXMatrix *DXMatrixOrthoLH(
DXMatrix *pout,
float w,
float h,
float zn,
float zf);
158 DXMatrix *DXMatrixOrthoOffCenterLH(
DXMatrix *pout,
float l,
float r,
float b,
float t,
float zn,
float zf);
168 DXMatrix *DXMatrixRotationYawPitchRoll(
DXMatrix *out,
float yaw,
float pitch,
float roll);
181 (*pout)._m[0][1] = 0.0f;
182 (*pout)._m[0][2] = 0.0f;
183 (*pout)._m[0][3] = 0.0f;
184 (*pout)._m[1][0] = 0.0f;
185 (*pout)._m[1][2] = 0.0f;
186 (*pout)._m[1][3] = 0.0f;
187 (*pout)._m[2][0] = 0.0f;
188 (*pout)._m[2][1] = 0.0f;
189 (*pout)._m[2][3] = 0.0f;
190 (*pout)._m[3][0] = 0.0f;
191 (*pout)._m[3][1] = 0.0f;
192 (*pout)._m[3][2] = 0.0f;
193 (*pout)._m[0][0] = 1.0f;
194 (*pout)._m[1][1] = 1.0f;
195 (*pout)._m[2][2] = 1.0f;
196 (*pout)._m[3][3] = 1.0f;
201 pout->_x = (1-s) * (pv1->_x) + s * (pv2->_x);
202 pout->_y = (1-s) * (pv1->_y) + s * (pv2->_y);
203 pout->_z = (1-s) * (pv1->_z) + s * (pv2->_z);
208 return (pq1->_x) * (pq2->_x) + (pq1->_y) * (pq2->_y) + (pq1->_z) * (pq2->_z) + (pq1->_w) * (pq2->_w);
214 temp._x = (pv1->_y) * (pv2->_z) - (pv1->_z) * (pv2->_y);
215 temp._y = (pv1->_z) * (pv2->_x) - (pv1->_x) * (pv2->_z);
216 temp._z = (pv1->_x) * (pv2->_y) - (pv1->_y) * (pv2->_x);
222 return (pv1->_x) * (pv2->_x) + (pv1->_y) * (pv2->_y) + (pv1->_z) * (pv2->_z);
226 pout->_x = pv1->_x - pv2->_x;
227 pout->_y = pv1->_y - pv2->_y;
228 pout->_z = pv1->_z - pv2->_z;
232 static inline float DXVec3Length(
const DXVector3 *pv) {
233 return sqrtf(pv->_x * pv->_x + pv->_y * pv->_y + pv->_z * pv->_z);
Definition: achievements_tables.h:27