基本问题 试想我们的美术做了一个3D模型,然后渲染引擎把模型渲染到屏幕上。我们还可以选定不同的视角,模拟不同的光照条件去观察模型。现在来分析一下这个过程。如果说我们把这个过程看成一个函数,那么函数的输出就是屏幕上的图像。确切地说,是屏幕上的每个像素。这个函数的主要输入是这个3D模型,我们观察的视角, ...
分类:
编程语言 时间:
2017-06-19 22:12:53
阅读次数:
543
首先,给出了小孔成像模型这一线性模型的推导。 然后,介绍了常用的畸变模型表达形式。 最后,给出了通用的图像去畸变方法。 ...
分类:
其他好文 时间:
2017-03-21 12:31:14
阅读次数:
1133
写在前面
OpenGL中的坐标处理过程包括模型变换、视变换、投影变换、视口变换等内容,这个主题的内容有些多,因此分节学习,主题将分为5节内容来学习。上一节模型变换,本节学习模型变换的下一阶段——视...
分类:
其他好文 时间:
2016-08-28 18:18:40
阅读次数:
356
我们先引入关于"矩阵堆栈"的官方说法: OpenGL的矩阵堆栈指的就是内存中专门用来存放矩阵数据的某块特殊区域。实际上,在创建、装入、相乘模型变换和投影变换矩阵时,都已用到堆栈操作。一般说来,矩阵堆栈常用于构造具有继承性的模型,即由一些简单目标构成的复杂模型。例如,一辆自行车就是由两个轮子、一个三角 ...
分类:
其他好文 时间:
2016-08-23 11:31:31
阅读次数:
274
视图变换,是指变换照相机的位置,角度。 模型变换,是指变换被照物体的位置,角度。 这两个变换,都会影响最终图形中,物体的位置,角度。而这两个变换,可以达到相同的效果。比如,你想要一个倒着的水杯图形,可以把你自己倒立,这样看到的水杯就是倒立的了。或者把水杯倒立,自己直立,也能看到倒立的水杯。 如图所示 ...
分类:
其他好文 时间:
2016-08-19 09:51:58
阅读次数:
219
(二) 模型变换 模形变换就是指的在世界坐标系中(world space)做“移动”,“旋转", "缩放"三种操作。 首先要说明的,在Opengl中,是用4x4矩阵进行坐标变换,OpenGL的4x4矩阵是按列排列的,就像下面这样。 所谓的模型变换,就是对这个矩阵进行变换。 描述三维世界你就得先设计三 ...
分类:
其他好文 时间:
2016-08-17 23:07:03
阅读次数:
1045
产生目标场景的过程类似于用照相机进行拍照: (1) 把照相机固定在三角架上,并让他对准场景从不同位置观察场景(视图变换) gluLookAt (2) 对场景进行安排,使各个物体在照片中的位置是我们所希望的 移动,旋转或者放大缩小场景中的物体(模型变换) glTranslate* ,glRotate* ...
分类:
其他好文 时间:
2016-07-04 18:41:38
阅读次数:
163
写在前面
前面几节分别介绍了模型变换,视变换,以及给出了投影矩阵和视口变换矩阵的推导,本节从全局把握一遍OpenGL坐标转换的过程,从整体上认识坐标变换过程。相关矩阵的数学推导过程请参考前面几节对应的内容。通过本节可以了解到
坐标变换的各个阶段
利用GLM数学库实现坐标变换
坐标变换的全局图OpenGL中的坐标处理过程包括模型变换、视变换、投影变换、视口变换等过程,如下图所示:
在上面的图...
分类:
其他好文 时间:
2016-06-06 17:13:31
阅读次数:
735
写在前面
OpenGL中的坐标处理过程包括模型变换、视变换、投影变换、视口变换等内容,这个主题的内容有些多,因此分节学习,主题将分为5节内容来学习。上一节模型变换,本节学习模型变换的下一阶段——视变换。到目前位置,主要在2D下编写程序,学习了视变换后,我们可以看到3D应用的效果了。本节示例程序均可在我的github下载。通过本节可以了解到
视变换的概念
索引绘制立方体
LookAt矩阵的推导(对...
分类:
其他好文 时间:
2016-06-03 19:26:02
阅读次数:
273
写在前面
前面为本节内容准备了向量和矩阵、线性变换等内容,本节开始学习OpenGL中的坐标处理。OpenGL中的坐标处理过程包括模型变换、视变换、投影变换、视口变换等内容,这个主题的内容有些多,因此分节学习,主题将分为5节内容来学习。本节主要学习模型变换。本节示例代码均可在我的github处下载。通过本节可以了解到
模型变换的作用
模型变换的类型和计算方法
坐标处理的全局过程(了解,另文详...
分类:
其他好文 时间:
2016-05-30 14:57:29
阅读次数:
247