Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
Java 透明形状纹理_Java_Opengl_Lwjgl_Opengl Compat - Fatal编程技术网

Java 透明形状纹理

Java 透明形状纹理,java,opengl,lwjgl,opengl-compat,Java,Opengl,Lwjgl,Opengl Compat,如何使形状的纹理透明?(例如立方体或圆柱体) 我正在尝试: glEnable(GL_BLEND); glEnable(GL_ALPHA_TEST); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glAlphaFunc(GL_GREATER, 1f); glColor4f(0.5f, 0.5f, 0.5f, 0.2f); //Cube code 这不太合适,纹理越来越轻,但我看不到它们后面的对象 如何使透明,以显示对象背后的内容?混合不会

如何使形状的纹理透明?(例如立方体或圆柱体)

我正在尝试:

glEnable(GL_BLEND);
glEnable(GL_ALPHA_TEST);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glAlphaFunc(GL_GREATER, 1f);
glColor4f(0.5f, 0.5f, 0.5f, 0.2f);
//Cube code
这不太合适,纹理越来越轻,但我看不到它们后面的对象


如何使透明,以显示对象背后的内容?

混合不会自动获得正确的透明度。您需要按照从后到前的正确顺序绘制对象,以获得正确的透明度。但请记住,对于深度测试的非透明图形,从前到后是最好的方法,因此,不要从后到前处理所有事情。OpenGL透明度是很棘手的,因为OpenGL一次渲染一个东西-你告诉它在屏幕上绘制一些多边形,然后再绘制一些多边形。如果在使用深度缓冲区时,在后面的东西之前绘制透明的东西,深度缓冲区将使其仅绘制透明的东西。如果你先画后面的东西,再画透明的东西,那么它们都画出来了。看到了吗