//////////////////////////////////////////////////////////////////////////////
//
//  Params.h
//
//////////////////////////////////////////////////////////////////////////////

#ifndef _PARAMS_H_
#define _PARAMS_H_

#include <GL/gl.h>

int  numFrames;
int  numPrimitives;
int  numPasses;

GLbitfield  renderMode;

GLdouble  nearPlane;
GLdouble  farPlane;

GLfloat*  colorData;
GLfloat*  vertexData;

const GLfloat  maxCoordValue = 10.0;

enum { X = 0, Y, Z };

#define NUM_CUBE_FACES     6
#define NUM_CUBE_VERTICES  8

static GLfloat  cubeVertices[NUM_CUBE_VERTICES][3] = {
  { -1.0, -1.0, -1.0  },  // Vertex 0
  { -1.0,  1.0, -1.0  },  // Vertex 1
  {  1.0,  1.0, -1.0  },  // Vertex 2
  {  1.0, -1.0, -1.0  },  // Vertex 3
  { -1.0, -1.0,  1.0  },  // Vertex 4
  { -1.0,  1.0,  1.0  },  // Vertex 5
  {  1.0,  1.0,  1.0  },  // Vertex 6
  {  1.0, -1.0,  1.0  }	  // Vertex 7
};

static GLfloat   cubeNormal[NUM_CUBE_FACES][3] = {
  {  0.0,  1.0,  0.0 },
  {  0.0, -1.0,  0.0 },
  {  0.0,  0.0, -1.0 },
  { -1.0,  0.0,  0.0 },
  {  0.0,  0.0,  1.0 },
  {  1.0,  0.0,  0.0 }
};


static const int cubeFace[NUM_CUBE_FACES][4] = {
  { 1, 5, 6, 2 },  // Top Face
  { 0, 3, 7, 4 },  // Bottom Face
  { 2, 3, 0, 1 },  // Back Face
  { 1, 0, 4, 5 },  // Left Face
  { 5, 4, 7, 6 },  // Front Face
  { 6, 7, 3, 2 }   // Right Face
};

#endif /* ! _PARAMS_H_ */
