摘要:
1,前言:接下来将是数学系列,将主要讲解一些初学者比较难以理解的内容,并假设读者已经熟悉了基本的向量和矩阵运算以及其几何意义。为了简单化,某些数学概念不甚严谨,但不妨碍学习和理解。在上一篇文章《学习OpenGL-ES: 3 - 3D绘图原理》中,我们知道绘制3D图形,首先需要描述物体: a,我们需要描述物体位置,也经常需要平移物体,平移是指物体的形状和朝向都不变,只是位置改变。我们通过对物体的所有顶点进行相同的平移来完成这个过程,我们称之为对物体(顶点)进行平移变换,这个变换在计算机图形学中是通过用顶点坐标乘以一个4X4矩阵来完成的,顶点乘以矩阵,得到一个新的顶点,这个新的顶点就是原顶点平移. 阅读全文
摘要:
1,成像模型计算机图形的生成,总是可以抽象成三个过程:输入数据 -> 处理数据 -> 输出人眼识别的图像。其中最后一个过程,在之前的文章:学习OpenGL-ES: 1 - 像素、颜色、显存、初始化中已经有过比较详细的描述,最终输出的是像素(颜色)点阵,由硬件激发显示屏,发射出相应颜色的光线,被人眼接受,形成图像视觉。所以OpenGL ES 的绘图过程可描述为:输入数据 -> 处理数据 -> 输出像素点阵。那么,输入数据和处理数据又是怎样的呢?很自然的可以想到通过模拟人眼的输入和处理过程来进行计算机处理。对人眼而言,观察物体实际上是物体在视网膜成像的过程,首先存在物体,然 阅读全文
摘要:
1, 前言在前文(学习OpenGL-ES: 1 - 像素、颜色、显存、环境初始化和EGL)中提到EGL是本地平台和OpenGL ES之间的抽象层,其完成了本地相关的环境初始化和上下文控制工作,以保证OpenGL ES的平台无关性。主要包含如下工作:a,选择显示设备b,选择像素格式。c,选择某些特性,比如如果你打算画中国水墨画,你需要额外指定宣纸和毛笔。 d,申请显存。e,创建上下文(Context),上下文本质上是一组状态的集合,描述了在某个特定时刻系统的状态,用于处理暂停、恢复、销毁、重建等情况;f, 指定当前的环境为绘制环境。总体流程上,EGL按顺序分为若干步骤:1, 选择显示设备disp 阅读全文
摘要:
1,隐喻思考一下画家绘画的过程,首先要有一名懂得各种绘画技艺的画家,然后他需要一张画布,一些笔,一些颜料,一些辅助工具(尺、圆规、模板、橡皮、调色板等等),然后他在画布上绘制第一幅画,完成之后展示给人们看;在人们观赏第一幅画的时候,他可以在第二张画布上绘制第二幅画,绘制完成后收回第一幅画,将第二幅画展现给人们看;接着使用工具擦除第一幅画,在同一张画布上绘制第三幅画;周而复始,人们便看到了一幅接一幅的画。对比OpenGL ES,各要素的对应关系大体如下:画家:我们笔、颜料、辅助工具:OpenGL ES API画布:???2,画布、像素、显存画布是画面的载体,而计算机图形总是展现在屏幕的某个矩形范 阅读全文
摘要:
为何学习为了更好地理解计算机图形学相关基础知识,更好地理解3D引擎的底层工作原理,从而更好地进行移动领域的3D应用开发。需要说明的是:不需学习OpenGL-ES,也可以基于3D引擎进行3D应用开发。什么是OpenGL-ESOpenGL-ES是平台无关的广泛应用于移动设备的2D/3D图形API(除了微软系的智能手机一般都支持该API),抽象层次较低,一般作为3D引擎的渲染底层,较少直接用于应用开发。OpenGL-ES是OpenGL的一个分支版本,针对嵌入式系统做了精简,一方面便于支持相对简单的嵌入式设备,另一方面可以较少地承担OpenGL历史包袱之累。版本目前有三个版本: a,1.0 & 阅读全文