// À©µµ¿ì Ãâ·Â ÇÔ¼ö GLvoid drawScene(GLvoid) { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // ¹ÙÅÁ»ö ÁöÁ¤ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // ¼³Á¤µÈ »öÀ¸·Î †Ã¼¸¦ Ä¥Çϱâ // »ö»ó ÁöÁ¤ÇÏ°í »ç°¢Çü ±×¸®±â glEnable(GL_DEPTH_TEST); if(!orthomode) camera.Rander(); glColor4f(1.0, 1.0, 1.0, 1.0f); glPushMatrix(); { if (orthomode) { glLoadIdentity(); gluLookAt(0, 0, 0, 0, 0, -1, 0, 1, 0); } DrawAxis(); //////////////////<¹Ù´Ú>//////////////////// DrawFloor(); for (int x = 0; x <= (index) / 3.0; ++x) { glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, &ctrlpoints[x * 3][0]); glEnable(GL_MAP1_VERTEX_3); glLineWidth(1.0); glBegin(GL_LINE_STRIP); for (int i = 0; i <= 30; i++) glEvalCoord1f((GLfloat)i / 30.0); glEnd(); glDisable(GL_MAP1_VERTEX_3); } glPointSize(5.0); glColor3f(0.0, 0.0, 1.0); glBegin(GL_POINTS); for (int i = 0; i < index; i++) glVertex3fv(&ctrlpoints[i][0]); glEnd(); for (int x = 0; x <= (index) / 3.0; ++x) { glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, &road[x * 3][0]); glEnable(GL_MAP1_VERTEX_3); glLineWidth(12); glBegin(GL_LINE_STRIP); for (int i = 0; i <= 30; i++) glEvalCoord1f((GLfloat)i / 30.0); glEnd(); glDisable(GL_MAP1_VERTEX_3); } glLineWidth(1); glColor4f(1.0, 1.0, 1.0, 1.0); glutWireCube(floor_size * 2); gate.Rander(); squaretree.Rander(); roundtree.Rander(); elevator.Rander(); cone.Rander(); } glPopMatrix();