summaryrefslogtreecommitdiffstats
path: root/src/ShadowVolume.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ShadowVolume.cpp')
-rw-r--r--src/ShadowVolume.cpp28
1 files changed, 1 insertions, 27 deletions
diff --git a/src/ShadowVolume.cpp b/src/ShadowVolume.cpp
index 67a44db..27aba6e 100644
--- a/src/ShadowVolume.cpp
+++ b/src/ShadowVolume.cpp
@@ -31,7 +31,7 @@ ShadowVolume::ShadowVolume(const Triangle &t, const vmml::vec3f &lightPos) : vis
rays[i].p = t.getVertex(i);
}
- if(trianglePlane.isInFront(lightPos)) {
+ if(!trianglePlane.isBehind(lightPos)) {
visible = false;
return;
@@ -42,30 +42,4 @@ ShadowVolume::ShadowVolume(const Triangle &t, const vmml::vec3f &lightPos) : vis
}
}
-void ShadowVolume::render() const {
- if(!visible)
- return;
-
- glVertex3fv(rays[0].p.array);
- glVertex3fv(rays[1].p.array);
- glVertex3fv(rays[2].p.array);
-
- for(int i = 0; i < 3; ++i) {
- const Ray &r1 = rays[i];
- const Ray &r2 = rays[(i+1)%3];
-
- glVertex3fv(r1.p.array);
- glVertex4fv(vmml::vec4f(r1.dir, 0).array);
- glVertex3fv(r2.p.array);
-
- glVertex3fv(r2.p.array);
- glVertex4fv(vmml::vec4f(r1.dir, 0).array);
- glVertex4fv(vmml::vec4f(r2.dir, 0).array);
- }
-
- glVertex4fv(vmml::vec4f(rays[2].dir, 0).array);
- glVertex4fv(vmml::vec4f(rays[1].dir, 0).array);
- glVertex4fv(vmml::vec4f(rays[0].dir, 0).array);
-}
-
}