X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcamera.cpp;h=ba8ff718d136744dbff8261d73b887a21258ef76;hb=e3561c5c4d0b2caf00a0e50ce85c11a9fb62aa72;hp=d119e1eff1b67245b9fca74c4058b5d5077af8e3;hpb=af7ffc9c72e30ae377476f76a51a6676dd6e89aa;p=libs%2Fgl.git diff --git a/source/camera.cpp b/source/camera.cpp index d119e1ef..ba8ff718 100644 --- a/source/camera.cpp +++ b/source/camera.cpp @@ -56,6 +56,12 @@ void Camera::set_frustum_axis(float x, float y) update_projection_matrix(); } +void Camera::set_frustum_rotation(const Geometry::Angle &r) +{ + rotate = r; + update_projection_matrix(); +} + void Camera::set_position(const Vector3 &p) { position = p; @@ -115,6 +121,7 @@ void Camera::update_projection_matrix() proj_matrix = Matrix::frustum(left, right, bottom, top, clip_near, clip_far); else proj_matrix = Matrix::ortho(left, right, bottom, top, clip_near, clip_far); + proj_matrix = Matrix::rotation(rotate, Vector3(0, 0, 1))*proj_matrix; } void Camera::update_object_matrix()