This commit is contained in:
parent
ee30817b75
commit
3d8fc3912c
10 changed files with 231 additions and 13 deletions
|
@ -8,6 +8,7 @@
|
|||
#include <gl\glu.h>
|
||||
#include <gl\glut.h>
|
||||
#include "GLEnabledView.h"
|
||||
#include "maths.h"
|
||||
|
||||
#include "Utils.H"
|
||||
|
||||
|
@ -115,3 +116,42 @@ void BuildGLQuad(float XMin,float XMax,float YMin,float YMax,float Z)
|
|||
|
||||
/**************************************************************************************/
|
||||
/**************************************************************************************/
|
||||
/**************************************************************************************/
|
||||
void TNormalise(TVECTOR &V)
|
||||
{
|
||||
float SqMag = V.length2();// v.x * v.x + v.y * v.y + v.z * v.z;
|
||||
|
||||
if (SqMag> 0.001f)
|
||||
{
|
||||
float Mag = (float)sqrt( SqMag);
|
||||
|
||||
V/=Mag;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************************/
|
||||
TVECTOR TCrossProduct(TVECTOR const &V0,TVECTOR const &V1,const TVECTOR &V2 )
|
||||
{
|
||||
TVECTOR DV1, DV2;
|
||||
TVECTOR Out;
|
||||
|
||||
DV1.X() = V1.X() - V0.X();
|
||||
DV1.Y() = V1.Y() - V0.Y();
|
||||
DV1.Z() = V1.Z() - V0.Z();
|
||||
|
||||
DV2.X() = V2.X() - V0.X();
|
||||
DV2.Y() = V2.Y() - V0.Y();
|
||||
DV2.Z() = V2.Z() - V0.Z();
|
||||
|
||||
Out.SetX( (DV1.Z() * DV2.Y()) - (DV1.Y() * DV2.Z()) );
|
||||
Out.SetY( (DV1.X() * DV2.Z()) - (DV1.Z() * DV2.X()) );
|
||||
Out.SetZ( (DV1.Y() * DV2.X()) - (DV1.X() * DV2.Y()) );
|
||||
|
||||
TNormalise(Out);
|
||||
return Out;
|
||||
}
|
||||
|
||||
/**************************************************************************************/
|
||||
/**************************************************************************************/
|
||||
/**************************************************************************************/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue