OPENGL
d04421024
这个作者很懒,什么都没留下…
展开
-
OpenGL:混合
混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻璃是半透明的。要使用OpenGL的混转载 2009-11-22 16:26:00 · 902 阅读 · 2 评论 -
OpenGL:反走样
由于计算机以离散点生成图形,生成图形必然与真实景物存在差距,这种差距表现为:直线或光滑曲面的锯齿、花纹失去原有色彩形状、细小物体在画面的消失等。统统叫做走样(aliasing)。反走样可以减少这种情况。粗略设想一下,就是把原来边界的地方锯齿部分用低饱和度的点补上,这样既不影响整体轮廓,又获得较好的平滑效果。用于减少和消除各种走样现象的方法就是反走样。通常反走样的方法有提高分辨率法、非加权区域采转载 2009-11-22 19:49:00 · 8998 阅读 · 1 评论 -
OpenGL:雾
雾也是大自然中最常见的现象之一,有了雾的效果,场景看起来会更加真实。在OpenGL中,很容易实现雾的效果。在OpenGL中,雾的工作模式有两种:线性模式和指数模式。这两种模式是根据雾的浓度变化来区分的。在线性模式下,只需要提供一个距离视点的开始位置和结束位置。从开始位置到结束位置之间,雾的浓度越来越高,浓度的变化和距离成正比。在指数模式下,雾的浓度随着距离的增加呈指数增长。这种模式通转载 2009-11-22 20:10:00 · 2282 阅读 · 0 评论 -
OpenGL:显示列表
1.显示列表的优势 OpenGL显示列表的设计能优化程序运行性能,尤其是网络性能。它被设计成命令高速缓存,而不是动态数据库缓存。也就是说,一旦建立了显示列表,就不能修改它。因为若显示列表可以被修改,则显示列表的搜索、内存管理的执行等开销会降低性能。 采用显示列表方式绘图一般要比瞬时方式快,尤其是显示列表方式可以大量地提高网络性能,即当通过网络发出绘图命令时,由于显示列表驻留在服务器中,因而使网转载 2009-11-22 21:42:00 · 566 阅读 · 0 评论 -
OpenGL:位图与图像
11.1、位图 11.1.1 位图(Bitmap)与字符(Font) 位图是以元素值为0或1的矩阵形式存储的,通常用于对窗口中相应区域的绘图屏蔽。比如说,当前颜色设置为红色,则在矩阵元素值为1的地方象素用红色来取代,反之,在为0的地方,对应的象素不受影响。位图普遍用于字符显示,请看下面例子: 例11-1 位图字符例程(font.c) #include "glos.h" #i转载 2009-11-22 22:44:00 · 904 阅读 · 0 评论 -
帧缓存介绍
帧缓存介绍 在opengl里经常看到帧缓存这个名词,可以是opengl的核心的吧。平时写程序由于只与它的子集颜色缓存,深度缓存,模板缓存,累积缓存打交道,很少想它们的父类的帧缓存的定义。今天在看gpu的流水线时,讲到片元的各种操作,突然想到自己对这个一直不是特别明白。在渲染过程中,图形加速器一般都有一个预先分配好的内存区域来维护显示列表内容(译者:注意,不一定是主内存)。它转载 2009-12-15 21:04:00 · 1919 阅读 · 0 评论 -
OpenGL中的Alpha测试,深度测试,模板测试,裁减测试
只要存在深度缓冲区,无论是否启用深度测试,OpenGL在像素被绘制时都会尝试将深度数据写入到缓冲区内,除非调用了glDepthMask(GL_FALSE)来禁止写入。这些深度数据除了用于常规的测试外,还可以有一些有趣的用途,比如绘制阴影等等。除了深度测试,OpenGL还提供了剪裁测试、Alpha测试和模板测试。1、剪裁测试剪裁测试用于限制绘制区域。我们可以指定一个矩形的剪裁窗口,当启用剪裁转载 2009-12-25 15:49:00 · 874 阅读 · 0 评论 -
glTexParameteri()
OpenGL——纹理过滤函数glTexParameteri() 图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素. 部分参数功能说明如下: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL转载 2009-12-28 11:06:00 · 21769 阅读 · 1 评论