【问题标题】:Skybox is not visible through transparent objects通过透明物体看不到天空盒
【发布时间】:2017-03-18 11:14:28
【问题描述】:

我在这里学习opengl:https://learnopengl.com/#!Advanced-OpenGL/Cubemaps 做了天空盒。如果你先画它,那么一切都很好。但是,为了减少其输出的像素数,我尝试最后绘制它。但是当你透过透明物体看天空盒时,它并没有显示出来。如果在透明对象之前绘制天空盒,则不会显示它们。如何解决?enter image description here

【问题讨论】:

  • 其实你已经说了解决办法:先画天空盒。为什么?对于透明像素,深度值被写入(以及非透明像素)。这些深度值防止为天空盒绘制像素(可能更远)。一些有用的链接:Depth TestTransparency, Translucency, and Blending

标签: c++ opengl blending


【解决方案1】:

透明度与顺序无关。您不能在已经绘制的表面“后面”绘制一些东西。在绘制透明对象之前,您必须(至少)绘制天空盒。

注意,如果可以正确透视多个透明对象,您还必须将透明对象从后向前排列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-17
    • 2023-03-11
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    相关资源
    最近更新 更多