#include "shader_manager.h"
#include "texture.h"
+#undef DRAW_NORMALS
+
/* skybox */
static Mesh *skymesh; /* it will be used by many renderers => no destroy */
skytex = 0;
dskytex = 0;
+
+ fog_density = 0;
}
Renderer::~Renderer()
diff_loc = sprog->get_uniform_location("diffuse");
spec_loc = sprog->get_uniform_location("specular");
shin_loc = sprog->get_uniform_location("shininess");
+ fog_loc = sprog->get_uniform_location("fog_density");
/* uniform locations for matrices */
if(shin_loc != -1)
sprog->set_uniformf(shin_loc, m->shininess);
+ if(fog_loc != -1)
+ sprog->set_uniformf(fog_loc, fog_density);
+
/* texture */
if(m->dtex)
- m->dtex->bind();
+ m->dtex->bind(0);
/* setting uniforms for matrices */
object->mesh->draw();
- /* debug
+ // debug
+#ifdef DRAW_NORMALS
if(nprog) {
int loc = nprog->get_uniform_location("mmviewproj");
if(loc != -1) {
nprog->use();
object->mesh->draw_normals(1.0);
}
- */
-
- // if(m->dtex)
- // m->dtex->unbind();
+#endif
}
void Renderer::set_sky_tex(Texture *stex)