(no commit message)
[atyndall/cits2231.git] / globals.h
index c7d62d2..c75caf7 100644 (file)
--- 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, rotateFactor, camAngleFactor;
-extern GLfloat leftrightFactor, nearfarFactor, bigsmallFactor, updownFactor;
+extern GLfloat zoomFactor, camRotateFactor, camAngleFactor;
+extern GLfloat leftrightFactor, nearfarFactor, bigsmallFactor;
+extern GLfloat updownFactor, rotateFactor, texscaleFactor;
+extern GLfloat lleftrightFactor, lnearfarFactor;
 
 /* Texture state tracking */
 extern int currentGroundTexture, currentMeshTexture;

UCC git Repository :: git.ucc.asn.au