(no commit message)
authorAsh Tyndall <[email protected]>
Tue, 18 Oct 2011 03:56:22 +0000 (11:56 +0800)
committerAsh Tyndall <[email protected]>
Tue, 18 Oct 2011 03:56:22 +0000 (11:56 +0800)
scene.c

diff --git a/scene.c b/scene.c
index 8b52285..b869afa 100644 (file)
--- a/scene.c
+++ b/scene.c
@@ -571,6 +571,37 @@ void display() {
   glutSwapBuffers();\r
 }\r
 \r
+/**\r
+ * init function; sets initial OpenGL state\r
+ */\r
+void init() {\r
+  glEnable(GL_CULL_FACE);\r
+  glEnable(GL_DEPTH_TEST);\r
+  glEnable(GL_TEXTURE_2D);\r
+  glLineWidth(3.0);\r
+\r
+  glMatrixMode(GL_PROJECTION);\r
+  gluPerspective(\r
+     40.0,  /* field of view in degree */ \r
+      1.0,  /* aspect ratio */ \r
+     20.0,  /* Z near */\r
+    100.0   /* Z far */ \r
+    );\r
+  \r
+  glMatrixMode(GL_MODELVIEW);\r
+  gluLookAt(\r
+    0.0, 8.0, 60.0,  /* eye is at (0,8,60) */\r
+    0.0, 8.0,  0.0,  /* center is at (0,8,0) */\r
+    0.0, 1.0,  0.0   /* up is in postivie Y direction */\r
+    );      \r
+\r
+  glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 1);\r
+  glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor);\r
+  glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 0.1);\r
+  glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.05);\r
+  glEnable(GL_LIGHT0);\r
+  glEnable(GL_LIGHTING);\r
+}\r
 \r
 /**\r
  * Main function\r
@@ -579,63 +610,39 @@ void display() {
  * @return Program exit code\r
  */\r
 int main(int argc, char **argv) {\r
+  if(argc>1)\r
+    strcpy(dataDir, argv[1]);\r
+  else if(opendir(dirDefault1))\r
+    strcpy(dataDir, dirDefault1);\r
+  else if(opendir(dirDefault2))\r
+    strcpy(dataDir, dirDefault2);\r
+  else fileErr(dirDefault1);\r
 \r
-    if(argc>1)\r
-         strcpy(dataDir, argv[1]);\r
-    else if(opendir(dirDefault1))\r
-         strcpy(dataDir, dirDefault1);\r
-    else if(opendir(dirDefault2))\r
-      strcpy(dataDir, dirDefault2);\r
-    else fileErr(dirDefault1);\r
+  for(int i=0; i<NMESH; i++) meshes[i]=NULL;\r
+  for(int i=0; i<NTEXTURE; i++) textures[i]=NULL;\r
 \r
-    for(int i=0; i<NMESH; i++) meshes[i]=NULL;\r
-    for(int i=0; i<NTEXTURE; i++) textures[i]=NULL;\r
+  glutInit(&argc, argv);\r
 \r
-    glutInit(&argc, argv);\r
+  glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);\r
 \r
-    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);\r
+  glutInitWindowSize(500, 500);\r
+  glutCreateWindow("Scene Editor");\r
 \r
+  glShadeModel(GL_SMOOTH); // Enables Smooth Shading\r
+  glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background\r
+  glClearDepth(1.0f); // Depth Buffer Setup\r
+  glEnable(GL_DEPTH_TEST); // Enables Depth Testing\r
+  glDepthFunc(GL_LEQUAL);  // the type\r
 \r
-    glutInitWindowSize(500, 500);\r
-    glutCreateWindow("Scene Editor");\r
+  glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);          // Really Nice Perspective Calculations\r
 \r
-    glShadeModel(GL_SMOOTH); // Enables Smooth Shading\r
-    glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background\r
-    glClearDepth(1.0f); // Depth Buffer Setup\r
-    glEnable(GL_DEPTH_TEST); // Enables Depth Testing\r
-    glDepthFunc(GL_LEQUAL);  // the type\r
+  glutReshapeFunc(windowReshape);\r
+  glutDisplayFunc(display);\r
+  glutMouseFunc(mouse);\r
 \r
-   // glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);          // Really Nice Perspective Calculations\r
+  makeMenu();\r
 \r
-    glutReshapeFunc(windowReshape);\r
-    glutDisplayFunc(display);\r
-    glutMouseFunc(mouse);\r
-\r
-    makeMenu();\r
-\r
-    //init();\r
-\r
-\r
-  glEnable(GL_CULL_FACE);\r
-  glEnable(GL_DEPTH_TEST);\r
-  glEnable(GL_TEXTURE_2D);\r
-  glLineWidth(3.0);\r
-\r
-glMatrixMode(GL_PROJECTION);\r
-  gluPerspective( /* field of view in degree */ 40.0,\r
-  /* aspect ratio */ 1.0,\r
-    /* Z near */ 20.0, /* Z far */ 100.0);\r
-  glMatrixMode(GL_MODELVIEW);\r
-  gluLookAt(0.0, 8.0, 60.0,  /* eye is at (0,8,60) */\r
-    0.0, 8.0, 0.0,      /* center is at (0,8,0) */\r
-    0.0, 1.0, 0.);      /* up is in postivie Y direction */\r
-\r
-  glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 1);\r
-  glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor);\r
-  glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 0.1);\r
-  glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.05);\r
-  glEnable(GL_LIGHT0);\r
-  glEnable(GL_LIGHTING);\r
+  init();\r
 \r
-    glutMainLoop();\r
+  glutMainLoop();\r
 }\r

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