X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Fcamera.cpp;h=8f681a74bd19d843130e8bdccea6272e5808d506;hp=9b8b0c778d0c5fc68f784efaee4c74b886801ddb;hb=38712d8ecc57d043a2419ffbaeeb57f7a6586f14;hpb=a275d25eccad43716c5dcf91f8bc4af2a53c0445 diff --git a/source/render/camera.cpp b/source/render/camera.cpp index 9b8b0c77..8f681a74 100644 --- a/source/render/camera.cpp +++ b/source/render/camera.cpp @@ -7,17 +7,7 @@ using namespace std; namespace Msp { namespace GL { -Camera::Camera(): - fov(Geometry::Angle::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); }