X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fmorph_renderer.cc;h=ce6f1b0bf6cbbf5973f8913b4590620ed96cdc13;hb=829221c492640e3523538efe87483fd16899cb03;hp=ae916258d9959aa2a9e504f4d21c333effe08674;hpb=978140660bed8a4bbe782dc5ca0516a80e1ba233;p=demo diff --git a/src/morph_renderer.cc b/src/morph_renderer.cc index ae91625..ce6f1b0 100644 --- a/src/morph_renderer.cc +++ b/src/morph_renderer.cc @@ -13,6 +13,8 @@ MorphRenderer::MorphRenderer() /* we won't use them */ skytex = 0; dskytex = 0; + + fog_density = 0; } MorphRenderer::~MorphRenderer() @@ -31,6 +33,7 @@ bool MorphRenderer::create() spec_loc = sprog->get_uniform_location("specular"); shin_loc = sprog->get_uniform_location("shininess"); t_loc = sprog->get_uniform_location("t"); + fog_loc = sprog->get_uniform_location("fog_density"); /* uniform locations for matrices */ @@ -51,16 +54,9 @@ void MorphRenderer::draw() const sprog->use(); for(size_t i=0; iobjects.size(); i++) { + float t = (sin(time_sec + 7.3 * noise(i * M_PI)) + 1) * 0.5; + if (t_loc != -1) + sprog->set_uniformf(t_loc, t); draw_object(scene->objects[i]); } -} - -void MorphRenderer::draw_object(Object *object) const -{ - float t = (sin(time_sec) + 1) * 0.5; - - if(t_loc != -1) - sprog->set_uniformf(t_loc, t); - - Renderer::draw_object(object); } \ No newline at end of file