d3drm: Implement D3DRMVectorCrossProduct.
This commit is contained in:
parent
70a1cef5e4
commit
d152211e21
|
@ -9,7 +9,7 @@
|
||||||
@ stub D3DRMQuaternionMultiply
|
@ stub D3DRMQuaternionMultiply
|
||||||
@ stub D3DRMQuaternionSlerp
|
@ stub D3DRMQuaternionSlerp
|
||||||
@ stdcall D3DRMVectorAdd(ptr ptr ptr)
|
@ stdcall D3DRMVectorAdd(ptr ptr ptr)
|
||||||
@ stub D3DRMVectorCrossProduct
|
@ stdcall D3DRMVectorCrossProduct(ptr ptr ptr)
|
||||||
@ stub D3DRMVectorDotProduct
|
@ stub D3DRMVectorDotProduct
|
||||||
@ stub D3DRMVectorModulus
|
@ stub D3DRMVectorModulus
|
||||||
@ stub D3DRMVectorNormalize
|
@ stub D3DRMVectorNormalize
|
||||||
|
|
|
@ -49,3 +49,12 @@ LPD3DVECTOR WINAPI D3DRMVectorSubtract(LPD3DVECTOR d, LPD3DVECTOR s1, LPD3DVECTO
|
||||||
d->z=s1->z - s2->z;
|
d->z=s1->z - s2->z;
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Cross Product of Two Vectors */
|
||||||
|
LPD3DVECTOR WINAPI D3DRMVectorCrossProduct(LPD3DVECTOR d, LPD3DVECTOR s1, LPD3DVECTOR s2)
|
||||||
|
{
|
||||||
|
d->x=s1->y * s2->z - s1->z * s2->y;
|
||||||
|
d->y=s1->z * s2->x - s1->x * s2->z;
|
||||||
|
d->z=s1->x * s2->y - s1->y * s2->x;
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
|
|
@ -46,6 +46,11 @@ void VectorTest(void)
|
||||||
D3DRMVectorSubtract(&r,&u,&v);
|
D3DRMVectorSubtract(&r,&u,&v);
|
||||||
e.x=-2.0;e.y=-2.0;e.z=1.0;
|
e.x=-2.0;e.y=-2.0;e.z=1.0;
|
||||||
expect_vec(e,r);
|
expect_vec(e,r);
|
||||||
|
|
||||||
|
/*_______________________VectorCrossProduct_______________________*/
|
||||||
|
D3DRMVectorCrossProduct(&r,&u,&v);
|
||||||
|
e.x=-4.0;e.y=4.0;e.z=0.0;
|
||||||
|
expect_vec(e,r);
|
||||||
}
|
}
|
||||||
|
|
||||||
START_TEST(vector)
|
START_TEST(vector)
|
||||||
|
|
Loading…
Reference in New Issue