Module: wine Branch: master Commit: 6766f9c1a02f736777c9d6d3948b0c224226f4e6 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6766f9c1a02f736777c9d6d394...
Author: Gerald Pfeifer gerald@pfeifer.com Date: Sun Feb 24 16:39:08 2008 +0100
d3dx8: Simplify D3DXMatrixInverse().
---
dlls/d3dx8/math.c | 19 ++++++------------- 1 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c index 6573c68..a65a934 100644 --- a/dlls/d3dx8/math.c +++ b/dlls/d3dx8/math.c @@ -114,7 +114,7 @@ D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, CONS { int a, i, j; D3DXVECTOR4 v, vec[3]; - FLOAT cofactor, det; + FLOAT det;
det = D3DXMatrixfDeterminant(pm); if ( !det ) return NULL; @@ -134,19 +134,12 @@ D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, CONS } } D3DXVec4Cross(&v, &vec[0], &vec[1], &vec[2]); - for (j=0; j<4; j++) - { - switch(j) - { - case 0: cofactor = v.x; break; - case 1: cofactor = v.y; break; - case 2: cofactor = v.z; break; - case 3: cofactor = v.w; break; - } - pout->u.m[j][i] = pow(-1.0f, i) * cofactor / det; - } + pout->u.m[0][i] = pow(-1.0f, i) * v.x / det; + pout->u.m[1][i] = pow(-1.0f, i) * v.y / det; + pout->u.m[2][i] = pow(-1.0f, i) * v.z / det; + pout->u.m[3][i] = pow(-1.0f, i) * v.w / det; } - return pout; + return pout; }
D3DXMATRIX* WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pout, CONST D3DXVECTOR3 *peye, CONST D3DXVECTOR3 *pat, CONST D3DXVECTOR3 *pup)