X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fcamera.cpp;h=3ace92b9ecb7166de54fa20b33f07c943997dae1;hb=6080120777fdf7b6e1184288eff9d205ca7ebf5f;hp=8b966464fd14d2ed42eb478d4b025f95bc1fbcfa;hpb=344bb25a8314811f6591111f10777635feb6fd36;p=libs%2Fgl.git diff --git a/source/render/camera.cpp b/source/render/camera.cpp index 8b966464..3ace92b9 100644 --- a/source/render/camera.cpp +++ b/source/render/camera.cpp @@ -7,22 +7,29 @@ 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(); } +void Camera::copy_parameters(const Camera &source) +{ + fov = source.fov; + height = source.height; + aspect = source.aspect; + clip_near = source.clip_near; + clip_far = source.clip_far; + frustum_x = source.frustum_x; + frustum_y = source.frustum_y; + rotate = source.rotate; + position = source.position; + look_dir = source.look_dir; + up_dir = source.up_dir; + update_projection_matrix(); + update_object_matrix(); +} + void Camera::set_field_of_view(const Geometry::Angle &f) { fov = f;