示例#1
0
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;
}
示例#3
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);
}