CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
BUI::GCamera类 参考

3D图形渲染之观察者 更多...

Public 成员函数

 GCamera ()
 ~GCamera ()
void LookAt (VecFloat3 eye, VecFloat3 target, VecFloat3 up)
 设置相机(观察者)空间。参数是基于 世界坐标系 (World Space) 的。以(0,0)为原点
void Ortho (float left, float right, float bottom, float top, float near_plane=NEAR_PLANE_DEFAULT, float far_plane=FAR_PLANE_DEFAULT)
 正交投影。参数的每一个值,是基于相机(观察者)空间的。已眼睛(Eye)位置为原点
void Perspective (float fovy, float aspect, float near_plane=0.01, float far_plane=100.0)
 透视投影。参数的每一个值,是基于相机(观察者)空间的。已眼睛(Eye)位置为原点
glm::mat4 ProjectionMatrix ()
 获得投影矩阵。作用:把 相机空间 转换到 裁剪空间(Clip Space)。

Public 属性

VecFloat3 m_eye
VecFloat3 m_target
VecFloat3 m_up
BOOL m_is_ortho
float m_z_near
float m_z_far
float m_fov_angle
float m_aspect_ratio
float m_ortho_x1
float m_ortho_x2
float m_ortho_y1
float m_ortho_y2

详细描述

3D图形渲染之观察者

构造及析构函数说明

◆ GCamera()

BUI::GCamera::GCamera ( )

◆ ~GCamera()

BUI::GCamera::~GCamera ( )

成员函数说明

◆ LookAt()

void BUI::GCamera::LookAt ( VecFloat3 eye,
VecFloat3 target,
VecFloat3 up )

设置相机(观察者)空间。参数是基于 世界坐标系 (World Space) 的。以(0,0)为原点

参数
eye: 相机位置
target: 视线方向
up: 相机向上方向

◆ Ortho()

void BUI::GCamera::Ortho ( float left,
float right,
float bottom,
float top,
float near_plane = NEAR_PLANE_DEFAULT,
float far_plane = FAR_PLANE_DEFAULT )

正交投影。参数的每一个值,是基于相机(观察者)空间的。已眼睛(Eye)位置为原点

参数
left: 左侧
right: 右侧
top: 顶部
bottom: 底部
near_plane: 近平面
far_plane: 远平面

◆ Perspective()

void BUI::GCamera::Perspective ( float fovy,
float aspect,
float near_plane = 0.01,
float far_plane = 100.0 )

透视投影。参数的每一个值,是基于相机(观察者)空间的。已眼睛(Eye)位置为原点

参数
fovy: 视野大小。单位:角度
aspect: 宽高比。计算公式:viewportWidth / viewportHeight
near_plane: 近平面
far_plane: 远平面

◆ ProjectionMatrix()

glm::mat4 BUI::GCamera::ProjectionMatrix ( )

获得投影矩阵。作用:把 相机空间 转换到 裁剪空间(Clip Space)。

类成员变量说明

◆ m_aspect_ratio

float BUI::GCamera::m_aspect_ratio

◆ m_eye

VecFloat3 BUI::GCamera::m_eye

◆ m_fov_angle

float BUI::GCamera::m_fov_angle

◆ m_is_ortho

BOOL BUI::GCamera::m_is_ortho

◆ m_ortho_x1

float BUI::GCamera::m_ortho_x1

◆ m_ortho_x2

float BUI::GCamera::m_ortho_x2

◆ m_ortho_y1

float BUI::GCamera::m_ortho_y1

◆ m_ortho_y2

float BUI::GCamera::m_ortho_y2

◆ m_target

VecFloat3 BUI::GCamera::m_target

◆ m_up

VecFloat3 BUI::GCamera::m_up

◆ m_z_far

float BUI::GCamera::m_z_far

◆ m_z_near

float BUI::GCamera::m_z_near
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2026 · CBlueStudio 版权所有