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();
}
+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<float> &f)
{
fov = f;