X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=globals.h;h=c75caf7b164a6cbb560c8fbe73d581b63136abed;hp=dc9245309dd1a511bc29bf3bfde6298b74ce1817;hb=821c28d874f5560d63a57ed73bc77b11337c3280;hpb=89e90cbd07402f824253fc0a4b2f1cd7e81b31e4 diff --git a/globals.h b/globals.h index dc92453..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[]; @@ -24,69 +30,65 @@ extern const char *objectMenuEntries[]; // Scene object arrays extern SceneObject sceneObjs[]; extern int nObjects; +extern int curObject; +extern int buttonSelected; +extern int manipulateState; -// Directories containing models -extern char *dirDefault1; -extern char *dirDefault2; +/* Light object arrays and default values */ +extern LightObject lightObjs[]; -// Stores the directory name for the meshes and textures. -extern char dataDir[]; +extern GLfloat defaultPosition[]; -// Lighting -extern GLfloat lightColor[]; -extern GLfloat lightPosition[]; +extern GLfloat defaultAmbient[]; +extern GLfloat defaultDiffuse[]; +extern GLfloat defaultSpecular[]; +extern GLfloat defaultDirection[]; -extern int moving, startx, starty; -extern int lightMoving, lightStartX, lightStartY; +extern GLfloat defaultCutoff; +extern GLfloat defaultExponent; -/* Time varying or user-controled variables. */ -extern float jump; -extern float lightAngle, lightHeight; -extern GLfloat angle; -extern GLfloat angle2; +/* Material types */ +extern GLfloat materialAmbient[]; +extern GLfloat materialDiffuse[]; +extern GLfloat materialSpecular[]; -/* Near and far parameters - calculates scene size */ -extern GLfloat near; -extern GLfloat far; +/* Light parameters */ +extern GLfloat lightShine; +extern GLfloat lightGlobalModel[]; +extern GLfloat lightGlobalEmission[]; +extern GLfloat lightBallSize; + +// Directories containing models +extern char *dirDefault1; +extern char *dirDefault2; -/* Near and far clipping planes - calculates clipping planes */ -extern GLfloat nearClip; -extern GLfloat farClip; +// Stores the directory name for the meshes and textures. +extern char dataDir[]; -/* Recursion level for floor drawing */ -extern int drawFloorRecurse; +extern int startx, starty; /* Size of floor, from -n to n */ extern int floorSize; +extern float squareSize; /* Current camera position */ -extern GLfloat camx, camy, camz, rot; +extern GLfloat camx, camy, camz, keyrot; +extern GLfloat factor; /* Length of axis lines */ extern GLfloat lineLength; -/* Light 0 parameters */ -extern GLfloat diffuse0[]; -extern GLfloat ambient0[]; -extern GLfloat specular0[]; -extern GLfloat emission0[]; - -extern GLfloat direction0[]; -extern GLfloat light0_pos[]; - -extern GLfloat shine; - -extern GLfloat glightmodel[]; - -/* Material types */ -extern GLfloat ambient[]; -extern GLfloat diffuse[]; -extern GLfloat specular[]; - /* Beginning width, height */ extern int width, height; /* Zoom and rotate tracking */ -GLfloat zoomFactor, rotateFactor; +extern GLfloat zoom, rotate, camAngle; +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; #endif /* GLOBALS_H */ \ No newline at end of file