Chester的小院

无印良品

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

文章分类 -  OpenGL

摘要:GL_ARB_vertex_buffer_object,一般简称为VBO,这是OpenGL里的一个千呼万唤始出来的扩展,它可以根据实际情况决定把顶点数据放到显存、AGP内存或系统内存中。 没有这个扩展的时候,偶们用vertex array时,用glVertexPointer / glNormalPointer 来指定顶点数据,这时顶点数据是放在系统内存中的,每次渲染时,都要把数据从系统内存拷贝到显存,消耗不少时间。 实际上很多拷贝都是不必要的,比如静态对象的顶点数据是不变的,如果能把它们放到显存里面,那么每次渲染时都不需要拷贝操作,可以节约不少时间。 另外现在的显卡大多数是AGP的,系统会在系 阅读全文
posted @ 2011-04-14 22:56 chester_lp 阅读(808) 评论(0) 推荐(0)

摘要:转自http://www.cppblog.com/w2001/archive/2008/05/10/49376.htmlOpenGL VBO并不难,但是较繁琐,其实其概念跟加载纹理是一样的:初始化阶段:1.glGenBuffersARB(1, &nVBOVertices); //生成一个句柄2.glBindBufferARB(GL_ARRAY_BUFFER_ARB, nVBOVertices); //声明该句柄为一个vbo句柄,并选择之3.glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertices), vertices,GL_STATIC_ 阅读全文
posted @ 2011-04-13 02:05 chester_lp 阅读(466) 评论(0) 推荐(0)

摘要:一、蒙板 蒙板是这样的一种机制,他用来控制深度在蒙板其后的物体,在蒙板区域的某个位置是否被显示。这个功能可以使用混色通过控制ALPHA通道的值来完成,但是这样的效果并不好,会产生蒙板上物体比较虚的效果。使用蒙板以后我们可以使得透过深度较靠前的物体看到深度较靠后物体的一个部分。 这个机制可以用两种方法来实现。 第一种方式是使用模拟的方式,它的原理是使用混色当中的象素叠加操作。所以我们在操作的一开始必须要打开混色开关,glEnable(GL_BLEND);然后我们在需要的地方放置我们的蒙板,模板是一个黑白贴图,在需要透视的后方物体的地方这个贴图使用白色,而需要遮挡的地方我们使用黑色。在载入并绑定蒙 阅读全文
posted @ 2011-04-13 01:02 chester_lp 阅读(1031) 评论(0) 推荐(0)

摘要:作者:王浩从http://blog.donews.com/yyh/archive/2005/05/19/387143.aspx转载。前言:真实的游戏效果 shadow volume 这个术语几乎是随着 DOOM3 的发布而成为FPS 玩家和图形学爱好者谈论的对象的。虽然这个游戏还没有上市,但是凭借 John Carmack 的传奇经历以及 DOOM3发布的一些让人惊讶的预览图片,我们仍然有理由认为它将会是 2004 年最热门的 FPS 游戏之一。 id software向来都不吝惜为了达到最好的图像效果而使用最先进的渲染技术,这曾经使得玩家为了玩它开发的游戏而不得不掏光口袋里面的钱来升级电脑, 阅读全文
posted @ 2011-04-13 00:58 chester_lp 阅读(565) 评论(0) 推荐(0)

摘要:TGA文件用作纹理较BMP文件的优势在于:TGA文件的载入不需要使用aux库,并且TGA纹理可以拥有ALPHA通道。而载入TGA文件作为纹理必须要了解的是TGA文件的文件结构。TGA文件的文件结构如下面的表所示偏移长度描述32位常用图像文件各个字节的值01指出图像信息字段的长度,其取值范围是 0 到 255 ,当它为 0 时表示没有图像的信息字段。011是否使用颜色表,0 表示没有颜色表,1 表示颜色表存在021该字段总为 2。图像类型码,tga一共有6种格式,2表示无颜色表 rgb 图像235颜色表规格,总为0。0405060708 10 图像规格说明 开始82图像 x 坐标起始位置,一般. 阅读全文
posted @ 2011-04-13 00:32 chester_lp 阅读(638) 评论(0) 推荐(0)

摘要:OpenGL 会把源颜色和目标颜色各自取出,并乘以一个系数(源颜色乘以的系数称为“源因子”,目标颜色乘以的系数称为“目标因子”),然后相加,这样就得到了新的颜 色。(也可以不是相加,新版本的OpenGL可以设置运算方式,包括加、减、取两者中较大的、取两者中较小的、逻辑运算等,但我们这里为了简单起见,不讨 论这个了)下面用数学公式来表达一下这个运算方式。假设源颜色的四个分量(指红色,绿色,蓝色,alpha值)是(Rs, Gs, Bs, As),目标颜色的四个分量是(Rd, Gd, Bd, Ad),又设源因子为(Sr, Sg, Sb, Sa),目标因子为(Dr, Dg, Db, Da)。则混合产. 阅读全文
posted @ 2011-04-13 00:20 chester_lp 阅读(186) 评论(0) 推荐(0)