void MainLoop() { while (!done) { if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } else if (keys[VK_ESCAPE]) done=true; else { glClear(0x4100); glLoadIdentity(); m_xform3(m,cam.eye,cam.eye); m_xform3(m,cam.up,cam.up); setcameraview(cam,4.0f/3.0f); scene_render(*CNSlogo); //scene_render(*copytest); SwapBuffers(hDC); Sleep(10); } } }
int main(void) { // Important: do NOT modify the main function struct Scene scene; scene_init(&scene); int keep_going = 1; while (keep_going == 1) { scene_render(&scene); cons_update(); scene_delay(&scene); keep_going = scene_update(&scene); } return 0; }
void view_render (View *view) { RenderState *rstate = render_state_new (); gint i; gl_drawing_area_make_current (view->context); glClearColor (0.0, 0.0, 0.0, 0.0); glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); camera_load (view->camera); for (i = 0; i < view->nlights; i++) light_set (view->lights[i]); scene_render (view->scene, rstate); gl_drawing_area_swap_buffers (view->context); g_object_unref (rstate); }