Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用“混合”使多边形透明?_Android_Opengl Es - Fatal编程技术网

Android 如何使用“混合”使多边形透明?

Android 如何使用“混合”使多边形透明?,android,opengl-es,Android,Opengl Es,我有一个显示两个多边形的应用程序。我需要使其中一个多边形逐渐不可见,但另一个必须可见。我正在使用OpenGLES1.1。我正在为Android开发,但我认为其他平台也会做同样的代码,只是做一些小的改动 我怎么能做到 我知道我必须使用以下功能: glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 但是我不知道我必须把它们放在哪里,以及如何使用它们使我的多边形逐渐透明。看起来像是正确的混合函数,

我有一个显示两个多边形的应用程序。我需要使其中一个多边形逐渐不可见,但另一个必须可见。我正在使用OpenGLES1.1。我正在为Android开发,但我认为其他平台也会做同样的代码,只是做一些小的改动

我怎么能做到

我知道我必须使用以下功能:

    glEnable (GL_BLEND); 
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

但是我不知道我必须把它们放在哪里,以及如何使用它们使我的多边形逐渐透明。

看起来像是正确的混合函数,在绘制半透明多边形之前调用它们。alpha值通常与颜色或纹理贴图(红色、绿色、蓝色、alpha)一起提供,并且alpha的范围为0.0(透明)到1.0(不透明),前提是上述混合函数


还请注意,半透明对象对渲染顺序很敏感:通常必须首先绘制所有不透明对象,并使用深度缓冲区作为正常对象。然后,启用“混合”,并将“深度缓冲区”设置为只读,然后将半透明对象向后绘制到前面(首先绘制距离摄影机最远的对象)。通过这种方式,碎片混合会从最远的地方到最近的地方进行。

请给我一个在android上进行透明纹理多边形的代码示例?我在谷歌上找不到教程或示例