From 6d3965b35edf5f03cd065d42af31867acf1f4637 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 24 Dec 2009 02:47:35 +0100 Subject: Make shadow volumes visible --- src/Renderer.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/Renderer.h') 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 namespace Zoom { @@ -31,13 +32,17 @@ class Renderer { public: Renderer(); - void render(const BSPTree &tree); + //void render(const BSPTree &tree); template - 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::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::max()); + //glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); t = triangles.begin(); -- cgit v1.2.3