Iphone 使用OpenGL ES 2.0的透明纹理

Iphone 使用OpenGL ES 2.0的透明纹理,iphone,ios,opengl-es,opengl-es-2.0,Iphone,Ios,Opengl Es,Opengl Es 2.0,我试图在立方体顶部添加一个透明纹理。只有正面是不透明的。其他方面是透明的。有什么问题吗?。感谢您的帮助 编辑:我发现首先绘制的面是不透明的 3绘制立方体的面 不透明面。((此面的索引在GLD元素中首先给出)) 透明的脸。 您很可能遇到排序问题。要正确显示透明几何体,对象的面必须从后向前排序 不幸的是,opengl es(或现有的任何gfx库)中没有内置的支持。唯一的可能是对多边形进行排序,在每个帧重新创建对象,并使用正确排序的面绘制对象 解决方法是使用附加透明度而不是普通透明度。相加透明度是一

我试图在立方体顶部添加一个透明纹理。只有正面是不透明的。其他方面是透明的。有什么问题吗?。感谢您的帮助

编辑:我发现首先绘制的面是不透明的

3绘制立方体的面

不透明面。((此面的索引在GLD元素中首先给出))

透明的脸。
您很可能遇到排序问题。要正确显示透明几何体,对象的面必须从后向前排序

不幸的是,opengl es(或现有的任何gfx库)中没有内置的支持。唯一的可能是对多边形进行排序,在每个帧重新创建对象,并使用正确排序的面绘制对象

解决方法是使用附加透明度而不是普通透明度。相加透明度是一种与阶数无关的计算。必须记住在绘制时关闭z缓冲区写入,否则可能会妨碍某些几何图形


通过将两个blendfunc值都设置为GL_ONE可实现添加透明度。

我没有透明层次结构。多边形的不透明度是一样的。我的问题是纹理。我有透明的.png。对于立方体的第一个绘制曲面,它是不透明的。我还清除了CGcontext。你能把截图上传到什么地方吗?也许这有助于发现问题。我已经上传了图片!。红色面是不透明的。首先绘制红色多边形。如果我先画黄色的脸,它就会变得不透明。我纠正了一个错误,我的意思是背对背,而不是背对背。2.这很像我描述的问题。绘制的第一个面与黑色背景混合,然后看起来不透明。如果该面确实是最远的面,则在旋转立方体之前,一切看起来都正常。然后,第一个面被绘制为“不透明”(它没有与屏幕上的任何东西混合),而其他面则由于z缓冲区剪辑而隐藏在该面后面。你完全正确!。我误解了。谢谢!。