test for variable render scale
[carveJwlIkooP6JGAAIwe30JlM.git] / skaterift.c
index 1db6db52ab3e8c4d939f4ea91d1a9cee95dd3557..00dbb110fa1a78279df0b2ff463c20c6afb5fd45 100644 (file)
@@ -250,6 +250,7 @@ VG_STATIC void vg_load(void)
    /* 'systems' are completely loaded now */
 
    /* load home world */
+   //world_load( &world_global.worlds[0], "maps/mp_gridmap.mdl" );
    world_load( &world_global.worlds[0], "maps/mp_mtzero.mdl" );
 
 #if 0
@@ -485,6 +486,7 @@ VG_STATIC void render_player_transparent(void)
 VG_STATIC void render_scene(void)
 {
    render_fb_bind( gpipeline.fb_main );
+   glViewport( 0,0, g_render_x, g_render_y );
    glClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
    glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT );
 
@@ -504,6 +506,7 @@ VG_STATIC void render_scene(void)
 
    render_water_texture( view_world, &main_camera, 0 );
    render_fb_bind( gpipeline.fb_main );
+   glViewport( 0,0, g_render_x, g_render_y );
    render_water_surface( view_world, &main_camera );
 
    int depth = 1;
@@ -585,7 +588,11 @@ VG_STATIC void vg_render(void)
 {
    glBindFramebuffer( GL_FRAMEBUFFER, 0 );
 
-   glViewport( 0,0, vg.window_x, vg.window_y );
+   float scale = (sin(vg.time)*0.5f+0.5f)*0.75f+0.25f;
+   g_render_x = VG_MAX((float)vg.window_x * scale,64),
+   g_render_y = VG_MAX((float)vg.window_y * scale,64);
+
+   glViewport( 0,0, g_render_x, g_render_y );
    glDisable( GL_DEPTH_TEST );
 
    glClearColor( 1.0f, 0.0f, 0.0f, 0.0f );