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 © 2025 · CBlueStudio 版权所有