summaryrefslogtreecommitdiffstats
path: root/src/Renderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Renderer.h')
-rw-r--r--src/Renderer.h11
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();