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一次渲染一个东西-你告诉它在屏幕上绘制一些多边形,然后再绘制一些多边形。如果在使用深度缓冲区时,在后面的东西之前绘制透明的东西,深度缓冲区将使其仅绘制透明的东西。如果你先画后面的东西,再画透明的东西,那么它们都画出来了。看到了吗