void sea_render() { static_object* s_seaplane = entity_get("seaplane"); static_object* s_skydome = entity_get("skydome"); static_object* s_corvette = entity_get("corvette"); light* sun = entity_get("sun"); light* backlight = entity_get("backlight"); shadow_mapper_begin(); shadow_mapper_render_static(s_corvette); shadow_mapper_end(); forward_renderer_begin(); forward_renderer_render_static(s_skydome); forward_renderer_render_static(s_seaplane); forward_renderer_render_static(s_corvette); physics_object* balls[100]; int num_balls; entities_get(balls, &num_balls, physics_object); for(int i = 0; i < num_balls; i++) { forward_renderer_render_physics(balls[i]); } static_object* center_sphere = entity_get("center_sphere"); forward_renderer_render_static(center_sphere); forward_renderer_render_light(sun); forward_renderer_render_light(backlight); forward_renderer_end(); }
void scotland_render() { light* sun = entity_get("sun"); camera* cam = entity_get("camera"); landscape* world = entity_get("world"); static_object* skydome = entity_get("skydome"); shadow_mapper_begin(); shadow_mapper_render_landscape(world); shadow_mapper_end(); //texture_write_to_file(shadow_mapper_depth_texture(), "shadow_depth.tga"); forward_renderer_begin(); if (!wireframe) { forward_renderer_render_static(skydome); } if (wireframe) { glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); } forward_renderer_render_landscape(world); if (wireframe) { glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); } if (!wireframe) { vegetation_render(); } forward_renderer_render_light(sun); forward_renderer_end(); }
void metaballs_render() { static_object* s_podium = entity_get("podium"); camera* cam = entity_get("camera"); light* sun = entity_get("sun"); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); #ifdef MARCHING_CUBES shadow_mapper_begin(); shadow_mapper_render_static(s_podium); marching_cubes_render_shadows(sun); shadow_mapper_end(); forward_renderer_begin(); forward_renderer_render_static(s_podium); forward_renderer_render_light(sun); marching_cubes_render(wireframe, cam, sun); forward_renderer_end(); #endif #ifdef VOLUME_RENDERER volume_renderer_render(); #endif #ifndef VOLUME_RENDERER #ifndef MARCHING_CUBES particles_render(); #endif #endif ui_render(); SDL_GL_SwapBuffers(); }