X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=globals.c;h=df2e79620c38bc93a57b91e48a0ff7563e623dbd;hp=278bf8958ee3c0dae36567578465012b8d5a0bcf;hb=5b211bce232b1e75aa7cd3a08c533a8dd446f2fa;hpb=94605c9ba4cad948d4488cb87cb8134240adf8c2 diff --git a/globals.c b/globals.c index 278bf89..df2e796 100644 --- a/globals.c +++ b/globals.c @@ -40,6 +40,30 @@ int curObject = -1; // The scene object that is currently select int buttonSelected = -1; // Either GLUT_LEFT_BUTTON, GLUT_MIDDLE_BUTTON or -1 (no button) int manipulateState = STATE_CAMERA_ROTATE_MOVE; // See manipulateStates enum +/* Light object arrays and default values */ +LightObject lightObjs[LIGHTS]; + +GLfloat defaultPosition[] = {0.0, 0.0, 0.0, 0.0}; + +GLfloat defaultAmbient[] = {0.8, 0.8, 0.8, 1.0}; +GLfloat defaultDiffuse[] = {0.8, 0.8, 0.8, 1.0}; +GLfloat defaultSpecular[] = {0.8, 0.8, 0.8, 1.0}; +GLfloat defaultDirection[] = {0.0, 0.0, 0.0}; + +GLfloat defaultCutoff = 180; +GLfloat defaultExponent = 1; + +/* Material types */ +GLfloat materialAmbient[] = {0.2, 0.2, 0.2, 1.0}; +GLfloat materialDiffuse[] = {1.0, 0.8, 0.0, 1.0}; +GLfloat materialSpecular[] = {1.0, 1.0, 1.0, 1.0}; + +/* Light parameters */ +GLfloat lightShine = 100.0; +GLfloat lightGlobalModel[] = {0.2,0.2,0.2,1}; +GLfloat lightGlobalEmission[] = {0.0, 0.3, 0.3, 1.0}; +GLfloat lightBallSize = 0.2; + // Directories containing models char *dirDefault1 = "models-textures"; char *dirDefault2 = "/cslinux/examples/CITS2231/project-files/models-textures"; @@ -59,43 +83,15 @@ GLfloat factor = 1.0; /* Length of axis lines */ GLfloat lineLength = 10; -/* Light 0 parameters */ -GLfloat diffuse0[]={1.0, 0.0, 0.0, 1.0}; -GLfloat ambient0[]={1.0, 0.0, 0.0, 1.0}; -GLfloat specular0[]={1.0, 0.0, 0.0, 1.0}; -GLfloat direction0[] = {0.0, 0.0, 0.0}; - -GLfloat lightPosition0[4]; - -float lightAngle0 = 0.0, lightHeight0 = 5; -int lightMoving0 = 0, lightStartX0, lightStartY0; - -/* Light 1 parameters */ -GLfloat diffuse1[]={0.0, 1.0, 0.0, 1.0}; -GLfloat ambient1[]={0.0, 1.0, 0.0, 1.0}; -GLfloat specular1[]={0.0, 1.0, 0.0, 1.0}; -GLfloat direction1[] = {0.0, 0.0, 0.0}; - -GLfloat lightPosition1[4]; - -float lightAngle1 = 360.0, lightHeight1 = 5; -int lightMoving1 = 0, lightStartX1, lightStartY1; - -/* Material types */ -GLfloat ambient[] = {0.2, 0.2, 0.2, 1.0}; -GLfloat diffuse[] = {1.0, 0.8, 0.0, 1.0}; -GLfloat specular[] = {1.0, 1.0, 1.0, 1.0}; -GLfloat shine = 100.0; -GLfloat glightmodel[] = {0.2,0.2,0.2,1}; -GLfloat emission[] = {0.0, 0.3, 0.3, 1.0}; - /* Zoom and rotate tracking */ -GLfloat zoom = 0.0, rotate = 0.0, camAngle = 40.0; -GLfloat zoomFactor = 0.2, rotateFactor = 0.5, camAngleFactor = 0.5; -GLfloat leftrightFactor = 0.5, nearfarFactor = 0.5, bigsmallFactor = 0.5, updownFactor = 0.5; +GLfloat zoom = 0.1, rotate = 0.1, camAngle = 40.0; +GLfloat zoomFactor = 0.2, camRotateFactor = 0.5, camAngleFactor = 0.5; +GLfloat leftrightFactor = 0.05, nearfarFactor = 0.1, bigsmallFactor = 0.6; +GLfloat updownFactor = 0.03, rotateFactor = 0.8, texscaleFactor = 0.2; +GLfloat lleftrightFactor = 0.05, lnearfarFactor = 0.1; /* Beginning width, height */ -int width = 500, height = 500; +int width = 700, height = 700; /* Texture state tracking */ int currentGroundTexture = 0, currentMeshTexture = 0; \ No newline at end of file