diff options
Diffstat (limited to 'src/Renderer.h')
-rw-r--r-- | src/Renderer.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Renderer.h b/src/Renderer.h index ae9af4a..eed65bb 100644 --- a/src/Renderer.h +++ b/src/Renderer.h @@ -23,6 +23,7 @@ #include "gl.h" #include "BSPTree.h" #include "Shader.h" +#include <limits> namespace Zoom { @@ -31,13 +32,17 @@ class Renderer { public: Renderer(); - void render(const BSPTree &tree); + //void render(const BSPTree &tree); template <typename T> - void render(const T &triangles) { + void render(const T &triangles, const vmml::vec3f &lightPos) { + glLightfv(GL_LIGHT0, GL_POSITION, vmml::vec4f(lightPos, 1).array); + Shader::enable(ambientShader); glBlendFunc(GL_ONE, GL_ZERO); glDepthFunc(GL_LEQUAL); + //glStencilFunc(GL_ALWAYS, 0, std::numeric_limits<GLuint>::max()); + //glStencilOp(GL_KEEP, GL_INCR, GL_KEEP); typename T::const_iterator t = triangles.begin(); if(t == triangles.end()) @@ -54,6 +59,8 @@ class Renderer { Shader::enable(lightShader); glBlendFunc(GL_ONE, GL_ONE); glDepthFunc(GL_EQUAL); + //glStencilFunc(GL_EQUAL, 0, std::numeric_limits<GLuint>::max()); + //glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); t = triangles.begin(); |