-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2010 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GL_CAMERA_H_
#define MSP_GL_CAMERA_H_
class Camera
{
private:
- float fov;
+ Geometry::Angle<float> fov;
float aspect;
// Some compilers have "near" and "far" keywords
float clip_near;
public:
Camera();
- void set_field_of_view(float);
+ void set_field_of_view(const Geometry::Angle<float> &);
void set_aspect(float);
void set_depth_clip(float, float);
- float get_field_of_view() const { return fov; }
+ const Geometry::Angle<float> &get_field_of_view() const { return fov; }
float get_aspect() const { return aspect; }
float get_near_clip() const { return clip_near; }
float get_far_clip() const { return clip_far; }
const Matrix &get_matrix() const { return matrix; }
Vector3 project(const Vector4 &) const;
+ Vector3 project(const Vector3 &) const;
Vector4 unproject(const Vector4 &) const;
void apply() const;