6#include <math/math.hpp>
38 void set_perspective(
float vFOV,
float aspectRatio,
float near,
float far);
107 Vector3f get_front()
const;
108 Vector3f get_right()
const;
109 Vector3f get_up()
const;
157 Vector3f up_ = -Vector3f({0.f, 1.f, 0.f});
159 mutable Matrix4 projection_;
160 mutable bool projection_dirty_ =
true;
161 mutable Matrix4 view_;
162 mutable bool view_dirty_ =
true;
摄像机.
Definition: Camera.h:12
float get_hfov() const
获取水平视角范围, 单位: 弧度.
Definition: Camera.cpp:86
float get_near() const
获取近裁剪平面距离.
Definition: Camera.cpp:100
void set_position(const Vector3f &pos)
设置相机坐标.
Definition: Camera.cpp:36
void update_view_matrix() const
更新视图矩阵.
Definition: Camera.cpp:131
float get_far() const
获取远裁剪平面距离.
Definition: Camera.cpp:105
Type
投影类型.
Definition: Camera.h:18
float get_vfov() const
获取垂直视角范围, 单位: 弧度.
Definition: Camera.cpp:78
const Vector3f & get_position() const
获得相机坐标.
Definition: Camera.cpp:42
const Matrix4 & get_view() const
获取观察矩阵.
Definition: Camera.cpp:110
void update_projection_matrix() const
更新投影矩阵.
Definition: Camera.cpp:122
const Matrix4 & get_projection() const
获取投影矩阵.
Definition: Camera.cpp:116
const Vector3f & get_rotation() const
获取绕各轴旋转的角度.
Definition: Camera.cpp:53
void set_rotation(const Vector3f &rot)
设置绕各轴旋转的角度.
Definition: Camera.cpp:47
float get_aspect_ratio() const
获取宽高比.
Definition: Camera.cpp:92
Type get_type() const
获取投影类型.
Definition: Camera.cpp:31
void set_perspective(float vFOV, float aspectRatio, float near, float far)
设置截头锥体观察体, 用于透视投影.
Definition: Camera.cpp:11
void set_orthographic(float width, float height, float near, float far)
设置正投影观观察体, 用于正交投影.
Definition: Camera.cpp:21