3d图形渲染中表层GUI制作的一种方法

今天看了cg中compositing的内容,觉得使用cg制作3d渲染中的gui骑士可以很简单容易。我的做法是这样的:

1.制作一张GUI的窗口尺寸的图片,要求需要镂空的地方的alpha值为0

2.在opengl 中首先绘制场景

3.使用cg绘制gui:
  3.1首先关闭深度缓存(因为要将GUI永远至于表面),然后开启混合,混合方式为(srcalpha,one_minus_src-alpha)

   3.2绘制一个在xy片面的单元四边形

   3.3在cg 的顶点程序中将这个四边形转换到剪裁空间是将其不满整个-1到1的空间,也就是满屏,并将其贴上第一步生成的图片

    3.4在片段程序中映射纹理

4最后关闭混合,开启深度测试

  这样这个gui图片就永远浮在窗口之上了。

posted on 2009-07-24 20:04  leonwei  阅读(222)  评论(0编辑  收藏  举报