diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-12-24 02:47:35 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-12-24 02:47:35 +0100 |
commit | 6d3965b35edf5f03cd065d42af31867acf1f4637 (patch) | |
tree | 7a7471579acc58746e1dc118628399ef30b08b4e /src/Renderer.h | |
parent | b7cb3463543b01e8faa13c01bcee17c44beba586 (diff) | |
download | zoom++-6d3965b35edf5f03cd065d42af31867acf1f4637.tar zoom++-6d3965b35edf5f03cd065d42af31867acf1f4637.zip |
Make shadow volumes visible
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(); |