OPRNGL之渲染过程大概梳理
2016-04-06 18:08
218 查看
将OPENGL绘制对象的过程类比为摄像机拍摄物体的过程
视图变换:对摄像机位置与朝向(还有朝上朝下)进行定义
模型变换:对物体的位置,旋转,缩放进行定义
以上是对摄像机和物体的两个基础定义
投影:对摄像机的拍摄进行调节
正投影:
一个六个面均为矩形的六面体
透视投影
同一物体,近处大,远处小
fovy为如图所示角度,znear为近裁剪面z坐标值,zfar为远处裁剪面z坐标值,aspect值为
如图所示矩形的宽度与高度纵横比
由于对摄像机和物体的修改具有对偶性
对摄像机或者物体的其他几种修改:
对摄像机的位置和朝向(以及朝上或朝下)进行修改
朝上或朝下一般为(0,1,0)或者对象坐标系中的y轴方向
另外,对模型视图矩阵的修改(即对物体或者摄像机进行位移或旋转或缩放)的修改参见OPENGL之矩阵博客
视图变换:对摄像机位置与朝向(还有朝上朝下)进行定义
模型变换:对物体的位置,旋转,缩放进行定义
以上是对摄像机和物体的两个基础定义
投影:对摄像机的拍摄进行调节
正投影:
glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far)
一个六个面均为矩形的六面体
透视投影
同一物体,近处大,远处小
gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)
fovy为如图所示角度,znear为近裁剪面z坐标值,zfar为远处裁剪面z坐标值,aspect值为
如图所示矩形的宽度与高度纵横比
由于对摄像机和物体的修改具有对偶性
对摄像机或者物体的其他几种修改:
对摄像机的位置和朝向(以及朝上或朝下)进行修改
gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble atx,GLdouble aty,GLdouble atx,GLdouble upx,GLdouble upy,GLdouble upz)
朝上或朝下一般为(0,1,0)或者对象坐标系中的y轴方向
另外,对模型视图矩阵的修改(即对物体或者摄像机进行位移或旋转或缩放)的修改参见OPENGL之矩阵博客
相关文章推荐
- shell if手册
- 通过一个实例理解 offsetLeft,offsetTop; offsetWidth , offsetHeight
- YARN DistributedShell源码分析与修改
- nginx 基本配置
- tomcat多虚拟主机配置-基础篇
- 关于linux模块驱动简单的Makefile
- corethink功能模块探索开发(十三)后台删除按钮
- Linux常用基础命令
- Maven Dependency Scope用法
- Linux内核分析之可执行程序的装载和启动
- LVS原理详解及部署之五:LVS+keepalived实现负载均衡&高可用
- systemctl的使用
- 控制台程序进程间WM_COPYDATA通信
- 漏洞库网站
- opencv中的矩阵操作
- nginx(二)----ubuntu14.04下启动或重启和关闭nginx
- 高性能Web应用开发之OpenResty案例
- 加固你的TOMCAT,让TOMCAT在chroot的环境下运行
- 属性动画PropertyAnimation
- xhprof&export&source&php运行原理&php+nginx