David Adam : d3dx8: Implement D3DXPlaneDotNormalize.

Alexandre Julliard julliard at winehq.org
Wed Oct 24 11:04:49 CDT 2007


Module: wine
Branch: master
Commit: a00353b394547356e6f8bb99b0e40079f996cba6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a00353b394547356e6f8bb99b0e40079f996cba6

Author: David Adam <David.Adam at math.cnrs.fr>
Date:   Tue Oct 23 11:06:33 2007 +0200

d3dx8: Implement D3DXPlaneDotNormalize.

---

 dlls/d3dx8/tests/math.c |   11 +++++++++++
 include/d3dx8math.inl   |    6 ++++++
 2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c
index c318a45..e73a619 100644
--- a/dlls/d3dx8/tests/math.c
+++ b/dlls/d3dx8/tests/math.c
@@ -60,6 +60,17 @@ static void D3DXPlaneTest(void)
     expected = 0.0f;
     got = D3DXPlaneDotCoord(NULL,NULL),
     ok( expected == got, "Expected : %f, Got : %f\n",expected, got);
+
+/*_______________D3DXPlaneDotNormal______________*/
+    expected = -35.0f;
+    got = D3DXPlaneDotNormal(&plane,&vec),
+    ok( expected == got, "Expected : %f, Got : %f\n",expected, got);
+    expected = 0.0f;
+    got = D3DXPlaneDotNormal(NULL,&vec),
+    ok( expected == got, "Expected : %f, Got : %f\n",expected, got);
+    expected = 0.0f;
+    got = D3DXPlaneDotNormal(NULL,NULL),
+    ok( expected == got, "Expected : %f, Got : %f\n",expected, got);
 }
 
 static void D3X8QuaternionTest(void)
diff --git a/include/d3dx8math.inl b/include/d3dx8math.inl
index e8e6a02..71f9641 100644
--- a/include/d3dx8math.inl
+++ b/include/d3dx8math.inl
@@ -270,6 +270,12 @@ static inline FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv
     return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) );
 }
 
+static inline FLOAT D3DXPlaneDotNormal(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv)
+{
+    if ( !pp || !pv ) return 0.0f;
+    return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) );
+}
+
 /*__________________D3DXQUATERNION____________________*/
 
 static inline D3DXQUATERNION* D3DXQuaternionConjugate(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq)




More information about the wine-cvs mailing list