projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
chaos caused by async
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world_water.h
diff --git
a/world_water.h
b/world_water.h
index 84558a20f392c591449057d404d77f432b176849..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" );
}
@@
-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 );