Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147092
  • 博文数量: 30
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-07 10:53
文章分类

全部博文(30)

文章存档

2009年(1)

2008年(29)

我的朋友

分类:

2008-05-04 09:27:28

4、融合(blend)
   融合不仅可以blend多个纹理,还可以blend纹理和背景色;
   融合时要取消深度测试,这是因为深度测试会剔除被遮挡的部分物体,而融合正是要处理这部分物体。
   融合即是要把两种颜色根据某个规则混合起来。这两种颜色分别来自“源”(source)与“目标”(destination)。源与目标的指定是与绘制顺序相关的。先绘制的是目标,而后绘制的则是源。绘制顺序与其深度没有太大关系,但是建议从远至近绘制

3、primitive types and colors

    在GL_FLAT model下,多边形的颜色取自第一个顶点的颜色,这点与其他primitive不同。
    注意GL_QUAD_STRIP和GL_QUADS条件下,点的顺序。

2、屏幕闪烁的原因:
   屏幕中显示的东西都会被放在一个称为显示缓存的地方,在通常情况下我们只有一个这样的缓冲区,也就是单缓冲。在单缓冲中任何绘图的过程都会被显示在屏幕中,这就是我们为什么看到闪烁的原因。而所谓双缓冲就是再这个显示的缓冲区之外 再建立一个不显示的绘制缓存,所有的绘图都将在这个不显示的缓冲区中进行,只有当一帧都绘制完了之后才会被拷贝到真正的显示缓冲区显示出来,这样中间过程对于最终用户就是不可见的了,那即使是速度比较慢也只会出现停顿而不会有闪烁的现象出现。
   特别是在计算量大时,单缓冲条件下的绘图过程和双缓冲时的停顿都会比较明显。

1、屏幕输出不能正确刷新的可能原因:
   不要忘记调用glClear。
   在单缓冲条件下,不要忘记调用glFlush;
   在双缓冲条件下,不要忘记调用glutSwapBuffer。

阅读(1358) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~