void set_frustum_axis(float, float);
void set_frustum_rotation(const Geometry::Angle<float> &);
const Geometry::Angle<float> &get_field_of_view() const { return fov; }
+ bool is_orthographic() const { return fov==Geometry::Angle<float>::zero(); }
+ float get_orthographic_width() const { return height*aspect; }
+ float get_orthographic_height() const { return height; }
float get_aspect() const { return aspect; }
float get_near_clip() const { return clip_near; }
float get_far_clip() const { return clip_far; }
Vector3 project(const Vector4 &) const;
Vector3 project(const Vector3 &) const;
Vector4 unproject(const Vector4 &) const;
+ Vector3 unproject(const Vector3 &) const;
void apply() const;