
#define  WINWIDTH   512
#define  WINHEIGHT  512



extern float  lastquat[4];
extern float  currquat[4];
extern int    beginx, beginy;


//
//  trackball.C 
//
void build_rotmatrix(GLfloat m[4][4], float q[4]);
void trackball(float q[4], float p1x, float p1y, float p2x, float p2y);
void add_quats(float *q1, float *q2, float *dest);
void axis_to_quat(float a[3], float phi, float q[4]);


//
// main.C
//
void Texture3DInit();
extern float        RMatrix[4][4];


//
// ginit.C
//
void PrintglError(int error);

// Uniform Radom Number Generator from 0 to 1
float ranf();

// Uniform Radom Number Generator from Minf to Maxf
float ranf(float Minf, float Maxf);

//
// Normal Random Variate Generator
// Mean=m, Standard deviation=S
//
float GaussianRandomNum(float m, float s);

unsigned char* LoadTexture(char* filename, int& Width, int& Height);

void CalculateNormalVector(float *P1, float *P2, float *P3, float *Normal);
