当渲染半透明物体(使用glBlend)时,建议按照从后到前的z顺序对对象进行排序。
来自opengl docs: 在应用中使用深度缓冲时,需要注意以何种顺序呈现基元。需要首先呈现完全不透明的基元,然后是部分不透明的基元,按照从后向前的顺序。如果不按照此顺序呈现基元,则本来可以通过部分不透明基元看到的基元可能会完全失去深度测试。
所以,每当我在呈现不透明三角形之后呈现半透明物体时,如果我按照“视线方向”相对于后面的顺序呈现半透明三角形,这样做是否正确?这里“从后往前”具体是什么意思?我试图理解,如果我有一个经过mvp变换的场景对象,我是否需要特别查看世界坐标的顺序,并与相机中心相关?
另外,这是否会因混合类型而改变?
来自opengl docs: 在应用中使用深度缓冲时,需要注意以何种顺序呈现基元。需要首先呈现完全不透明的基元,然后是部分不透明的基元,按照从后向前的顺序。如果不按照此顺序呈现基元,则本来可以通过部分不透明基元看到的基元可能会完全失去深度测试。
所以,每当我在呈现不透明三角形之后呈现半透明物体时,如果我按照“视线方向”相对于后面的顺序呈现半透明三角形,这样做是否正确?这里“从后往前”具体是什么意思?我试图理解,如果我有一个经过mvp变换的场景对象,我是否需要特别查看世界坐标的顺序,并与相机中心相关?
另外,这是否会因混合类型而改变?