change shader properties to be vg_msg based
[carveJwlIkooP6JGAAIwe30JlM.git] / world_water.c
index 0c6ac541064b2b353623dcd8a639490f89824d59..970ea22a8096111f7064eb16ecc7e8234f1ff1c1 100644 (file)
@@ -161,12 +161,18 @@ void render_water_surface( world_instance *world, vg_camera *cam )
 
       mesh_bind( &world->mesh_no_collide );
 
-      for( int i=0; i<world->surface_count; i++ ){
+      for( int i=0; i<world->surface_count; i++ )
+      {
          struct world_surface *mat = &world->surfaces[i];
+         struct shader_props_water *props = mat->info.props.compiled;
 
-         if( mat->info.shader == k_shader_water ){
-            shader_scene_water_uShoreColour( mat->info.colour );
-            shader_scene_water_uOceanColour( mat->info.colour1 );
+         if( mat->info.shader == k_shader_water )
+         {
+            shader_scene_water_uShoreColour( props->shore_colour );
+            shader_scene_water_uOceanColour( props->deep_colour );
+            shader_scene_water_uFresnel( props->fresnel );
+            shader_scene_water_uWaterScale( props->water_sale );
+            shader_scene_water_uWaveSpeed( props->wave_speed );
 
             mdl_draw_submesh( &mat->sm_no_collide );
          }
@@ -175,7 +181,8 @@ void render_water_surface( world_instance *world, vg_camera *cam )
       glDisable(GL_BLEND);
    }
    else if( (vg.quality_profile == k_quality_profile_low) ||
-            (vg.quality_profile == k_quality_profile_min) ){
+            (vg.quality_profile == k_quality_profile_min) )
+   {
       shader_scene_water_fast_use();
 
       glActiveTexture( GL_TEXTURE1 );
@@ -200,12 +207,15 @@ void render_water_surface( world_instance *world, vg_camera *cam )
 
       mesh_bind( &world->mesh_no_collide );
 
-      for( int i=0; i<world->surface_count; i++ ){
+      for( int i=0; i<world->surface_count; i++ )
+      {
          struct world_surface *mat = &world->surfaces[i];
+         struct shader_props_water *props = mat->info.props.compiled;
 
-         if( mat->info.shader == k_shader_water ){
-            shader_scene_water_fast_uShoreColour( mat->info.colour );
-            shader_scene_water_fast_uOceanColour( mat->info.colour1 );
+         if( mat->info.shader == k_shader_water )
+         {
+            shader_scene_water_fast_uShoreColour( props->shore_colour );
+            shader_scene_water_fast_uOceanColour( props->deep_colour );
 
             mdl_draw_submesh( &mat->sm_no_collide );
          }