]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/view.cpp
Make sure the shadow volume does not have zero size
[r2c2.git] / source / 3d / view.cpp
index 8c35245b4d97dd1b6d6c27147fc9494d6827ebd8..9fd5684f6ab50851f82c42c8ba10a25da16b3abc 100644 (file)
@@ -60,7 +60,7 @@ Ray View3D::create_ray(float x, float y) const
 {
        const GL::Vector3 &start = camera.get_position();
        GL::Vector4 ray = camera.unproject(GL::Vector4(x, y, 0, 0));
-       return Ray(start, Vector(ray));
+       return Ray(start, ray.slice<3>(0));
 }
 
 void View3D::compute_bounds(Vector &minp, Vector &maxp)
@@ -99,7 +99,7 @@ void View3D::update_shadow_area()
 {
        Vector minp, maxp;
        compute_bounds(minp, maxp);
-       shadow.set_target((minp+maxp)/2.0f, (maxp-minp).norm()/2.0f);
+       shadow.set_target((minp+maxp)/2.0f, max((maxp-minp).norm()/2.0f, 0.1f));
 }
 
 } // namespace R2C2