Dandelion 1.1.1
A light-weight 3D builder for educational usage
载入中...
搜索中...
未找到
Camera结构体 参考

表示观察点的相机,既可以用于预览视角,也可以用于渲染视角。 更多...

#include <camera.h>

Public 成员函数

 Camera (const Eigen::Vector3f &position, const Eigen::Vector3f &target, float near_plane=0.1f, float far_plane=10.0f, float fov_y_degrees=45.0f, float aspect_ratio=1.33f)
 
Eigen::Matrix4f view ()
 
Eigen::Matrix4f projection ()
 

Public 属性

Eigen::Vector3f position
 
Eigen::Vector3f target
 
float near_plane
 
float far_plane
 
float fov_y_degrees
 
float aspect_ratio
 
Eigen::Vector3f world_up
 

详细描述

表示观察点的相机,既可以用于预览视角,也可以用于渲染视角。

这个类封装了从观察点、按一定视角去观察目标点的功能,可以完成相应的几何计算, 包括观察矩阵和投影矩阵 (view & projection matrix)。 预览场景中相机的显示不由 Camera 类自己负责,它的功能只是存储参数并构造变换矩阵。 Dandelion 工作于渲染模式下时,Scene 对象将主动渲染一个相机视锥。

构造及析构函数说明

◆ Camera()

Camera::Camera ( const Eigen::Vector3f & position,
const Eigen::Vector3f & target,
float near_plane = 0.1f,
float far_plane = 10.0f,
float fov_y_degrees = 45.0f,
float aspect_ratio = 1.33f )
参数
position相机位置(观察点)
target相机指向的目标点
near_plane可视范围近平面到观察坐标系原点的距离(正值)
far_plane可视范围远平面到观察坐标系原点的距离(正值)
fov_y_degrees高度方向(Y 方向)的视角大小,单位是角度
aspect_ratio宽高比,即视角的宽度 / 高度

成员函数说明

◆ projection()

Matrix4f Camera::projection ( )

获取该相机的 Projection 矩阵,对应投影变换。

◆ view()

Matrix4f Camera::view ( )

获取该相机的 View 矩阵,对应观察变换。

类成员变量说明

◆ aspect_ratio

float Camera::aspect_ratio

可视范围的宽度与高度之比。

◆ far_plane

float Camera::far_plane

可视范围远平面到观察坐标系原点的距离(正值)。

◆ fov_y_degrees

float Camera::fov_y_degrees

Y 方向(上下)的视角大小。

◆ near_plane

float Camera::near_plane

可视范围近平面到观察坐标系原点的距离(正值)。

◆ position

Eigen::Vector3f Camera::position

相机的位置(视点)。

◆ target

Eigen::Vector3f Camera::target

相机看向的位置(目标点)。

◆ world_up

Eigen::Vector3f Camera::world_up

世界坐标系中的“上”方向向量,用于求相机坐标系的正交基。


该结构体的文档由以下文件生成: