X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_water.h;h=6a53a05f39a2de1e3ed5fbb6cca4e115b27f18e1;hb=a1adba47558099cab82aa6d10abdc1dca11d3342;hp=e054a111a788dea8440d06be1e8ac473f5e03227;hpb=b528a849aba893cee8c8bfbaa01ff13cf59fb429;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_water.h b/world_water.h index e054a11..6a53a05 100644 --- a/world_water.h +++ b/world_water.h @@ -21,14 +21,6 @@ VG_STATIC void world_water_init(void) vg_acquire_thread_sync(); { - world.water.fbreflect.format = GL_RGB; - world.water.fbreflect.div = 3; - world.water.fbdepth.format = GL_RGBA; - world.water.fbdepth.div = 4; - - fb_init( &world.water.fbreflect ); - fb_init( &world.water.fbdepth ); - vg_tex2d_init( (vg_tex2d *[]){&tex_water_surf}, 1 ); } vg_release_thread_sync(); @@ -36,15 +28,6 @@ VG_STATIC void world_water_init(void) vg_success( "done\n" ); } -VG_STATIC void water_fb_resize(void) -{ - if( !world.water.enabled ) - return; - - fb_resize( &world.water.fbreflect ); - fb_resize( &world.water.fbdepth ); -} - VG_STATIC void water_set_surface( float height ) { world.water.height = height; @@ -60,7 +43,7 @@ VG_STATIC void render_water_texture( camera *cam ) return; /* Draw reflection buffa */ - fb_use( &world.water.fbreflect ); + render_fb_bind( gpipeline.fb_water_reflection ); glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT ); /* @@ -102,7 +85,7 @@ VG_STATIC void render_water_texture( camera *cam ) * Create beneath view matrix */ camera beneath_cam; - fb_use( &world.water.fbdepth ); + render_fb_bind( gpipeline.fb_water_beneath ); glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT ); m4x3_copy( cam->transform, beneath_cam.transform ); @@ -132,7 +115,7 @@ VG_STATIC void render_water_surface( camera *cam ) /* Draw surface */ shader_water_use(); - fb_bindtex( &world.water.fbreflect, 0 ); + render_fb_bind_texture( gpipeline.fb_water_reflection, 0, 0 ); shader_water_uTexMain( 0 ); vg_tex2d_bind( &tex_water_surf, 1 ); @@ -143,7 +126,7 @@ VG_STATIC void render_water_surface( camera *cam ) shader_link_standard_ub( _shader_water.id, 2 ); - fb_bindtex( &world.water.fbdepth, 3 ); + render_fb_bind_texture( gpipeline.fb_water_beneath, 0, 3 ); shader_water_uTexBack( 3 ); shader_water_uTime( world.time ); shader_water_uCamera( cam->transform[3] );