OpenGL支持库及向导使用教程 下载本文

大连大有吴涛易语言软件开发有限公司 版权所有

2.14.2 设置缓存模式的一般过程

设置像素格式→查找像素格式→置像素格式→创建着色描述表→创建着色描述表→置当前着色描述表

“设置像素格式”:为像素格式赋值。如果使用单缓存,像素格式.标志中包含#支持GDI像素格式。如果使用双缓存,像素格式.标志中包含#双缓存像素格式。

“选择像素格式”:为指定的设备选择一个匹配的像素格式。成功返回像素格式号。 “置像素格式”:使用像素格式号为指定的设备设置像素格式。 “创建着色描述表”:为设备创建着色描述表,成功返回着色描述表号。 “置当前着色描述表”:设置当前的着色描述表,成功以后所有OpenGL命令都作用在指定的设备上。

2.14.3 单缓存模式显示的一般过程

清除缓存→画出模型→结束绘图 “结束绘图”:可以使用两种命令:1. 结束绘图操作2. 强制结束绘图操作。其中“结束绘图操作”命令只有等到所有的OpenGL命令执行完毕后才会返回。

2.14.4 双缓存模式显示的一般过程

清除缓存→画出模型→交换缓存 “交换缓存”:后台画面显示出来

2.14.5 缓存的种类

从缓存的种类上可以将缓存分为:颜色缓存、深度缓存、模板缓存、累积缓存。 颜色缓存中保存了图形的颜色部分,可以是红绿蓝混合通道模式的数据,也可以是颜色索引模式的数据。

深度缓存中保存了每个象素的深度值,也是平时常说的Z轴距离。只有启用“#深度测试”之后,才可以使用“深度测试”命令。“清除深度缓存”命令的“深度”参数范围在[0,1]之内。如果 “清除深度缓存”命令的参数为1时,测试方式不应该为#大于,因为没有比1更大的值。如果 “清除深度缓存”命令的参数为0时,测试方式也不应该为#小于,因为没有比0更小的值。

启用功能 (#深度测试) 深度测试 (#小于)

可以利用深度测试来看物体的背面。 参考例程“深度缓存测试.e” 可以使用空格键来切换测试方式。P键暂停

47

大连大有吴涛易语言软件开发有限公司 版权所有

效果如图 34和图 35所示:

图 34

图 35

累积缓存也保存颜色的(红色、绿色、蓝色)成分的数据,累积缓存顾名思义就是累积前面的图象经过计算后,得到另外的图象。 清除缓存 (位或 (#颜色缓存位, #深度缓存位, #累积缓存位)) ' 增加了“#累积缓存位” 矩阵复位 () 参考例程“累积缓存操作.e” 可以使用A、S、D键来切换累积缓存的计算方法。 效果如图 36下:

48