CR的代码文本

all for learning about the world
  订阅 订阅  :: 管理

绘制透明物体不需要禁用深度测试

Posted on 2011-07-12 15:51  mumuliang  阅读(775)  评论(0编辑  收藏  举报

只需要将深度缓冲设为只读。

在实际应用中用禁用深度缓冲的方式绘制透明物体,简直一定是会出错的。

glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDepthMask(GL_FALSE); 
// 将深度缓存设为只读

// 画要透明的图形

glDisable(GL_BLEND);
glDepthMask(GL_TRUE); 
// 恢复深度缓存可写