要执行的显示表数量赋给参数nLists,而参数listIDArray是显示表标识的数组。一般而言,listIDArray可包含任意多的元素,而无效的标识会被忽略。同样,listIDArray中的元素可指定为多种数据格式,而参数arrayDataType用来指出数据类型,例如GL_BYTE,GL_INT,GL_FLOAT, GL_3_BYTES或GL_4_ BYTES。显示表标识通过将listIDArray中一个元素的值与offsetValue的整数值相加而得。offsetValue的默认值为0。
这...
分类:
其他好文 时间:
2016-06-02 13:52:33
阅读次数:
129
OpenGL中有两个函数可用于定义矩形阵列的形状或图案。一个是位图,另一个是像素图。OpenGL也提供若干的函数用于存储、复制及管理像素值阵列。函数中的参数width和height分别给出阵列bitShape的列数和行数。bitShape的每一元素赋值为0或1。值为1表示对应像素用前面设定的颜色显示;否则,对应像素不受该位图影响。(作为一个选项,可使用1表示将指定颜色与存储在刷新缓存中对应位置的颜色值相结合。)参数x0和y0定义了矩形阵列“原点”的位置。原点位置指定为bitShape的左下角,而x0和y0可...
分类:
其他好文 时间:
2016-05-27 12:54:51
阅读次数:
339
描述填充多边形的OpenGL过程与描述点和折线类似,但有一个例外。函数glVertex用来输入多边形的一个顶点坐标,而完整的多边形用从glBegin到glEnd之间的一组顶点来描述。但有另外一个函数可以用来显示具有完全不同格式的矩形。
默认时多边形内部显示为单色,由当前颜色设定确定其颜色。作为选项(下面的内容中叙述),可以用图案填充多边形且显示多边形的边作为内部填充的边界。函数glBegin中指定多边形填充区的变量可使用6个不同的符号常量。这6个基本常量可用来显示单一填充多边形、一组不相连的...
分类:
其他好文 时间:
2016-05-22 12:28:09
阅读次数:
184
多数图形软件包使用逼近平面片来显示曲面。这是因为平面方程是线性的,而处理线性方程比二次或其他类曲线方程快得多。因此OpenGL和其他图形软件包提供多边形图元来实施曲面的逼近。对象用多边形网络来建模,而几何和属性信息的数据库按处理多边形面片的目标来建立。在OpenGL中,可用于此目的的图元有三角形带(triangle strip )、三角形扇形(triangle fan)和四边形
带(quad strip )。高性能图形系统使用快速多边形硬件绘制,使得显示速度达到每秒形成百万以上的多边形(通常为三角形),包括...
分类:
其他好文 时间:
2016-05-22 12:25:47
阅读次数:
205
为了简化这些问题,OpenGL提供了一种机制来减少处理坐标信息的函数调用数量。使用顶点数组(vertex array ),可以利用很少的函数调用来安排场景的描述信息。步骤如下:
1.引用函数glEnableClientState (GL_VERTEX_ARRAY)激活OpenGL的顶点数组特性。
2.使用函数glVertexPointer指定顶点坐标的位置和数据格式。
3.使用子程序如glDrawElements显示场景,该子程序可处理多个图元而仅需少量的函数调用。...
分类:
编程语言 时间:
2016-05-22 12:20:54
阅读次数:
210
1.1.1现象百度地图中,定位点的标注示意图标太小:实际期望的图标是这样的:1.1.2原因检查了很久,以为是打开地图时的设置问题,后来慢慢查找地图上的元素定位,终于发现原来这个图标大小是被CSS控制的,在地图元素的内部可以找到如下代码:这个img元素就是用来显示定位图标的..
分类:
其他好文 时间:
2016-05-21 00:01:19
阅读次数:
1092
场景中的对象一般用一组多边形面片来描述。实际上,图形软件包经常提供以多边形网格形式描述表面形状的函数。对每一个对象的描述包括指定多边形面片的几何信息和其他表面参数(如颜色、透明性及光反射特性)。在输入每个多边形的信息时,数据放进一些表格中等待后续处理、显示和场景的对象管理。这些多边形数据表分成两组来组织:几何数据表和属性数据表。几何数据表包含顶点坐标和标识多边形面片空间方向的参数。对象的属性信息包含指定对象的透明程度及其表面的反射性能和纹理特征。...
分类:
其他好文 时间:
2016-05-18 19:49:45
阅读次数:
114
先说明几个概念: 1, Multipass(多通道) 将一个任务划分成几个阶段,由多个pass处理不同阶段,后续pass总是处理前一个pass的结果。例如复杂的光照方程可以分成几个pass来计算。 用不同的纹理通过多个pass来多次渲染一个图元,这样可以实现许多很酷的特效。例如LightMap,它就 ...
分类:
其他好文 时间:
2016-05-18 00:08:27
阅读次数:
178
接着按多边形边界顺序计算连续的边向量的叉积。如果有些叉积的z分量为正而另一些为负,则多边形为凹多边形;否则,多边形为凸多边形。这意味着不存在三个连续的顶点共线,即不存在连续两个边向量其叉积为0。如果所有顶点共线,则得到一个退化多边形(一条线段)。我们可以通过逆时针方向处理边向量来应用向量方法。如果有一个叉积的z分量为负值(如图3.43所示),那么多边形为凹且可沿叉积中第一边向量的直线进行切割。下面的例子给出了分割凹多边形的这一方法。...
分类:
其他好文 时间:
2016-05-13 15:00:51
阅读次数:
187
各种图形处理经常需要鉴别对象的内部区域。识别简单对象如凸多边形、圆或椭圆的内部通常是一件很容易的事情。但有时我们必须处理较复杂的对象。例如,我们可能描述一个图3.46所示的有相交边的复杂填充区。在该形状中,xy平面上哪一部分为对象边界的“内部”、哪一部分为“外部”并不总是一目了然的。奇偶规则和非零环绕规则是识别平面图形内部区域的两种常用方法。...
分类:
其他好文 时间:
2016-05-13 14:58:50
阅读次数:
266