X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=globals.h;h=c75caf7b164a6cbb560c8fbe73d581b63136abed;hp=5dd4300ff9b752da63fcab86cd4f3b098ad43679;hb=821c28d874f5560d63a57ed73bc77b11337c3280;hpb=295ff719ec8db6df738d0210005a948eb2507c77 diff --git a/globals.h b/globals.h index 5dd4300..c75caf7 100644 --- a/globals.h +++ b/globals.h @@ -9,10 +9,16 @@ #define GLOBALS_H // Defined values -#define NMESH 54 // The number of meshes (in the models-textures dir) +#define NMESH 54 // The number of meshes (in the models-textures dir) #define NTEXTURE 30 // The number of textures (in the models-textures dir) #define MAXOBJECTS 256 +#define LIGHTS 2 // Number of lights in program + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + // Meshes and textures arrays extern mesh* meshes[]; extern texture* textures[]; @@ -28,6 +34,30 @@ extern int curObject; extern int buttonSelected; extern int manipulateState; +/* Light object arrays and default values */ +extern LightObject lightObjs[]; + +extern GLfloat defaultPosition[]; + +extern GLfloat defaultAmbient[]; +extern GLfloat defaultDiffuse[]; +extern GLfloat defaultSpecular[]; +extern GLfloat defaultDirection[]; + +extern GLfloat defaultCutoff; +extern GLfloat defaultExponent; + +/* Material types */ +extern GLfloat materialAmbient[]; +extern GLfloat materialDiffuse[]; +extern GLfloat materialSpecular[]; + +/* Light parameters */ +extern GLfloat lightShine; +extern GLfloat lightGlobalModel[]; +extern GLfloat lightGlobalEmission[]; +extern GLfloat lightBallSize; + // Directories containing models extern char *dirDefault1; extern char *dirDefault2; @@ -48,43 +78,15 @@ extern GLfloat factor; /* Length of axis lines */ extern GLfloat lineLength; -/* Light 0 parameters */ -extern GLfloat diffuse0[]; -extern GLfloat ambient0[]; -extern GLfloat specular0[]; -extern GLfloat direction0[]; - -extern GLfloat lightPosition0[]; - -extern float lightAngle0, lightHeight0; -extern int lightMoving0, lightStartX0, lightStartY0; - -/* Light 1 parameters */ -extern GLfloat diffuse1[]; -extern GLfloat ambient1[]; -extern GLfloat specular1[]; -extern GLfloat direction1[]; - -extern GLfloat lightPosition1[]; - -extern float lightAngle1, lightHeight1; -extern int lightMoving1, lightStartX1, lightStartY1; - -/* Material types */ -extern GLfloat ambient[]; -extern GLfloat diffuse[]; -extern GLfloat specular[]; -extern GLfloat shine; -extern GLfloat glightmodel[]; -extern GLfloat emission[]; - /* Beginning width, height */ extern int width, height; /* Zoom and rotate tracking */ extern GLfloat zoom, rotate, camAngle; extern GLfloat zoomFactor, camRotateFactor, camAngleFactor; -extern GLfloat leftrightFactor, nearfarFactor, bigsmallFactor, updownFactor, rotateFactor, texscaleFactor; +extern GLfloat leftrightFactor, nearfarFactor, bigsmallFactor; +extern GLfloat updownFactor, rotateFactor, texscaleFactor; +extern GLfloat lleftrightFactor, lnearfarFactor; /* Texture state tracking */ extern int currentGroundTexture, currentMeshTexture;