CBlueUI
C++ 跨平台跨框架的数据可视化工具
|
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图形渲染之观察者
BUI::GCamera::GCamera | ( | ) |
BUI::GCamera::~GCamera | ( | ) |
设置相机(观察者)空间。参数是基于 世界坐标系 (World Space) 的。以(0,0)为原点
eye | : 相机位置 |
target | : 视线方向 |
up | : 相机向上方向 |
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 | : 远平面 |
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 | : 远平面 |
glm::mat4 BUI::GCamera::ProjectionMatrix | ( | ) |
获得投影矩阵。作用:把 相机空间 转换到 裁剪空间(Clip Space)。
float BUI::GCamera::m_aspect_ratio |
VecFloat3 BUI::GCamera::m_eye |
float BUI::GCamera::m_fov_angle |
BOOL BUI::GCamera::m_is_ortho |
float BUI::GCamera::m_ortho_x1 |
float BUI::GCamera::m_ortho_x2 |
float BUI::GCamera::m_ortho_y1 |
float BUI::GCamera::m_ortho_y2 |
VecFloat3 BUI::GCamera::m_target |
VecFloat3 BUI::GCamera::m_up |
float BUI::GCamera::m_z_far |
float BUI::GCamera::m_z_near |