【问题标题】:Alpha blending, transparence and z-orderingAlpha 混合、透明和 z 排序
【发布时间】:2014-11-15 08:54:03
【问题描述】:

我正在一个项目中使用 alpha 混合进行一些测试,但我不明白。

在我的测试中,我做了类似的事情,一切看起来都很好

  • 先画蓝框(深度测试:true,混合alpha:无,颜色:1,1,1,1)
  • 绘制左侧马里奥(深度测试:false,混合alpha:true,颜色:1、1、1、0.8)李>
  • 画红框(深度测试:真,混合阿尔法:无,颜色:1、1、1、1)李>
  • 画右马里奥(深度测试:false,混合阿尔法:true,颜色:1、1、1、0.8)李>

每个教程都说我们应该:

  • 先绘制不透明对象
  • 将透明对象从后向前排列,然后绘制它们。

结果如下:

所以,我不确定它是如何工作的/出了什么问题 (I've read this document)。

谢谢!

【问题讨论】:

标签: opengl 3d transparency alphablending z-order


【解决方案1】:

您通常会为半透明对象禁用深度写入例如glDepthMask (GL_FALSE)),但深度测试本身并不是您想要的禁用。

您需要针对不透明对象生成的深度值进行测试以使其正常工作,否则您必须对您的不透明对象和半透明对象(即正是你最初所做的)。

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    相关资源
    最近更新 更多