controls for fog to select params
[demo] / src / main.cc
index 1246d2f..c48b383 100644 (file)
@@ -58,6 +58,8 @@ static Vec3 cam_pos;
 static float aspect;
 static OrbitCamera *camera;
 
+static float fog_density;
+
 static Scene *cow_scene;
 static Object *cow_object;
 static MorphRenderer *cow_rend;
@@ -119,6 +121,8 @@ static bool init(Gfx_API api)
        if(!gfx_init(api))
                return false;
 
+       fog_density = 0.0037;
+
        sdr_man = new ShaderManager;
 
        camera = new OrbitCamera;
@@ -223,6 +227,14 @@ static void clbk_key(GLFWwindow *win, int key, int scancode, int action, int mod
                        move_camera = !move_camera;
                        break;
 
+               case 'F':
+                       fog_density = fog_density < 1 - 0.0009 ? fog_density + 0.0001 : 1;
+                       break;
+
+               case 'U':
+                       fog_density = fog_density > 0.0001 ? fog_density - 0.0001 : 0;
+                       break;
+
                default:
                        break;
                }
@@ -312,6 +324,8 @@ static void display()
 
        gfx_clear(0.1, 0.1, 0.1);
 
+       printf("fog_density: %f\n", fog_density);
+       terrain_rend->fog_density = fog_density;
        terrain_rend->draw();
 
        cow_pos.y = terrain.get_height(cow_pos);