我正在尝试在立方体顶部添加透明纹理。只有正面不透明。其他方面都是透明的。可能是什么问题呢?。任何帮助表示赞赏。
编辑:我发现首先绘制的面是不透明的。绘制了立方体的3个面。
不透明的脸。((这个面部的索引在GLdrawElements中首先给出)) opaque http://s4.postimage.org/j1ye2wl5/opaque.png
透明的脸。 tranparent http://s4.postimage.org/6axg763o/Transparent.png
答案 0 :(得分:2)
你很可能遇到了排序问题。要正确显示透明几何图形,必须从后向前对对象的面进行排序。
不幸的是,在opengl-es(或存在的任何gfx库)中没有内置支持。唯一的可能性是对多边形进行排序,每帧重新创建对象,并使用正确排序的面绘制它。
解决方法是使用加性透明度而不是普通透明度。附加透明度是与订单无关的计算。你必须记住在绘图时关闭z缓冲区写入,否则可能会遮挡某些几何体。
通过将blendfunc值设置为GL_ONE来实现添加透明度。