projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
A complete workshop implementation, I guess
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world_water.h
diff --git
a/world_water.h
b/world_water.h
index 7d67b136893d80753bea1f776d24d3e9620145e2..14e3cd76409d3c472e7b22374982652f631d8de0 100644
(file)
--- a/
world_water.h
+++ b/
world_water.h
@@
-11,7
+11,7
@@
#include "shaders/scene_water_fast.h"
#include "scene.h"
#include "shaders/scene_water_fast.h"
#include "scene.h"
-
vg_tex2d tex_water_surf = { .path = "textures/water_surf.qoi" }
;
+
VG_STATIC GLuint tex_water_surf
;
VG_STATIC void world_water_init(void)
{
VG_STATIC void world_water_init(void)
{
@@
-19,11
+19,9
@@
VG_STATIC void world_water_init(void)
shader_scene_water_register();
shader_scene_water_fast_register();
shader_scene_water_register();
shader_scene_water_fast_register();
- vg_acquire_thread_sync();
- {
- vg_tex2d_init( (vg_tex2d *[]){&tex_water_surf}, 1 );
- }
- vg_release_thread_sync();
+ vg_tex2d_load_qoi_async_file( "textures/water_surf.qoi",
+ VG_TEX2D_LINEAR|VG_TEX2D_REPEAT,
+ &tex_water_surf );
vg_success( "done\n" );
}
vg_success( "done\n" );
}
@@
-55,7
+53,7
@@
VG_STATIC void render_water_texture( world_instance *world, camera *cam,
return;
/* Draw reflection buffa */
return;
/* Draw reflection buffa */
- render_fb_bind( gpipeline.fb_water_reflection );
+ render_fb_bind( gpipeline.fb_water_reflection
, 1
);
glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
/*
glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
/*
@@
-101,7
+99,7
@@
VG_STATIC void render_water_texture( world_instance *world, camera *cam,
* Create beneath view matrix
*/
camera beneath_cam;
* Create beneath view matrix
*/
camera beneath_cam;
- render_fb_bind( gpipeline.fb_water_beneath );
+ render_fb_bind( gpipeline.fb_water_beneath
, 1
);
glClearColor( 1.0f, 0.0f, 0.0f, 0.0f );
glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
glClearColor( 1.0f, 0.0f, 0.0f, 0.0f );
glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
@@
-121,7
+119,7
@@
VG_STATIC void render_water_texture( world_instance *world, camera *cam,
glEnable( GL_DEPTH_TEST );
glDisable( GL_BLEND );
render_world_depth( world, &beneath_cam );
glEnable( GL_DEPTH_TEST );
glDisable( GL_BLEND );
render_world_depth( world, &beneath_cam );
- glViewport( 0,0, g_render_x, g_render_y );
+
//
glViewport( 0,0, g_render_x, g_render_y );
}
VG_STATIC void render_water_surface( world_instance *world, camera *cam )
}
VG_STATIC void render_water_surface( world_instance *world, camera *cam )
@@
-135,9
+133,11
@@
VG_STATIC void render_water_surface( world_instance *world, camera *cam )
render_fb_bind_texture( gpipeline.fb_water_reflection, 0, 0 );
shader_scene_water_uTexMain( 0 );
render_fb_bind_texture( gpipeline.fb_water_reflection, 0, 0 );
shader_scene_water_uTexMain( 0 );
-
- vg_tex2d_bind( &tex_water_surf, 1 );
+
+ glActiveTexture( GL_TEXTURE1 );
+ glBindTexture( GL_TEXTURE_2D, tex_water_surf );
shader_scene_water_uTexDudv( 1 );
shader_scene_water_uTexDudv( 1 );
+
shader_scene_water_uInvRes( (v2f){
1.0f / (float)vg.window_x,
1.0f / (float)vg.window_y });
shader_scene_water_uInvRes( (v2f){
1.0f / (float)vg.window_x,
1.0f / (float)vg.window_y });
@@
-185,8
+185,10
@@
VG_STATIC void render_water_surface( world_instance *world, camera *cam )
else if( vg.quality_profile == k_quality_profile_low ){
shader_scene_water_fast_use();
else if( vg.quality_profile == k_quality_profile_low ){
shader_scene_water_fast_use();
- vg_tex2d_bind( &tex_water_surf, 1 );
+ glActiveTexture( GL_TEXTURE1 );
+ glBindTexture( GL_TEXTURE_2D, tex_water_surf );
shader_scene_water_fast_uTexDudv( 1 );
shader_scene_water_fast_uTexDudv( 1 );
+
shader_scene_water_fast_uTime( world_global.time );
shader_scene_water_fast_uCamera( cam->transform[3] );
shader_scene_water_fast_uSurfaceY( world->water.height );
shader_scene_water_fast_uTime( world_global.time );
shader_scene_water_fast_uCamera( cam->transform[3] );
shader_scene_water_fast_uSurfaceY( world->water.height );