projects
/
demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
controls for fog to select params
[demo]
/
src
/
main.cc
diff --git
a/src/main.cc
b/src/main.cc
index
1246d2f
..
c48b383
100644
(file)
--- a/
src/main.cc
+++ b/
src/main.cc
@@
-58,6
+58,8
@@
static Vec3 cam_pos;
static float aspect;
static OrbitCamera *camera;
static float aspect;
static OrbitCamera *camera;
+static float fog_density;
+
static Scene *cow_scene;
static Object *cow_object;
static MorphRenderer *cow_rend;
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;
if(!gfx_init(api))
return false;
+ fog_density = 0.0037;
+
sdr_man = new ShaderManager;
camera = new OrbitCamera;
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;
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;
}
default:
break;
}
@@
-312,6
+324,8
@@
static void display()
gfx_clear(0.1, 0.1, 0.1);
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);
terrain_rend->draw();
cow_pos.y = terrain.get_height(cow_pos);