]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/camera.cpp
Use default member initializers for simple types
[libs/gl.git] / source / render / camera.cpp
index 9b8b0c778d0c5fc68f784efaee4c74b886801ddb..8f681a74bd19d843130e8bdccea6272e5808d506 100644 (file)
@@ -7,17 +7,7 @@ using namespace std;
 namespace Msp {
 namespace GL {
 
-Camera::Camera():
-       fov(Geometry::Angle<float>::from_turns(0.125)),
-       height(0),
-       aspect(4.0/3.0),
-       clip_near(0.1),
-       clip_far(10),
-       frustum_x(0),
-       frustum_y(0),
-       position(0, 0, 0),
-       look_dir(0, 0, -1),
-       up_dir(0, 1, 0)
+Camera::Camera()
 {
        update_projection_matrix();
        update_object_matrix();
@@ -133,6 +123,7 @@ void Camera::update_projection_matrix()
        proj_matrix = Matrix::rotation(rotate, Vector3(0, 0, 1))*proj_matrix;
 
        shdata.uniform("clip_eye_matrix", proj_matrix);
+       shdata.uniform("eye_clip_matrix", invert(proj_matrix));
 }
 
 void Camera::update_object_matrix()
@@ -146,6 +137,7 @@ void Camera::update_object_matrix()
        matrix = Matrix::from_columns(columns);
        view_matrix = invert(matrix);
 
+       shdata.uniform("world_eye_matrix", matrix);
        shdata.uniform("eye_world_matrix", view_matrix);
 }