Java 如何在jogl中使用TextureIO.newTextureData()

Java 如何在jogl中使用TextureIO.newTextureData(),java,opengl,jogl,Java,Opengl,Jogl,我正在尝试创建透明纹理,但我不知道newTextureData()中的内部格式参数是什么。我尝试使用GL4.GL_RGBA32F,但纹理仍然不透明 代码如下所示: //清除背景(在GameLoop类中) gl.glClearColor(0.0f、0.0f、0.2f、1.0f); gl.glClear(gl.gl\u颜色\u缓冲\u位); //更新精灵vao(精灵类中的方法) gl.glBindVertexArray(vao[0]); gl.glBindBuffer(GL4.gl_元素_数组_缓冲

我正在尝试创建透明纹理,但我不知道newTextureData()中的内部格式参数是什么。我尝试使用GL4.GL_RGBA32F,但纹理仍然不透明

代码如下所示:

//清除背景(在GameLoop类中)
gl.glClearColor(0.0f、0.0f、0.2f、1.0f);
gl.glClear(gl.gl\u颜色\u缓冲\u位);
//更新精灵vao(精灵类中的方法)
gl.glBindVertexArray(vao[0]);
gl.glBindBuffer(GL4.gl_元素_数组_缓冲区,ebo[0]);
gl.glBindBuffer(gl.gl_数组_BUFFER,vbo[0]);
gl.glBufferData(GL4.gl\u元素\u数组\u缓冲区,indexData.capacity()*4L,indexData,GL4.gl\u静态\u绘图);
gl.glBufferData(GL4.gl_数组_BUFFER,vertexData.capacity()*4L,vertexData,gl.gl_STATIC_DRAW);
步幅积分=(3+顶点颜色长度+2)*4;
int textureCoordsOffset=步幅-2*4;
gl.glvertexattributepointer(0,3,gl.gl_FLOAT,false,stride,0);
GlenableVertexAttributeArray(0);
gl.glVertexAttributePointer(1,vertexColorLength,gl.gl_FLOAT,false,步长,12);
GlenableVertexAttributeArray(1);
gl.glvertexattributepointer(2,2,gl.gl_FLOAT,false,stride,textureCoordsOffset);
GlenableVertexAttributeArray(2);
gl.glBindVertexArray(0);
gl.glBindBuffer(GL4.gl元素数组缓冲区,0);
gl.glBindBuffer(GL4.gl_数组_BUFFER,0);
//加载纹理(在精灵构造函数中)
用于(字符串路径:TexturePath){
文件纹理文件=新文件(路径);
有组织的;有组织的;
试一试{
textureData=TextureIO.newTextureData(gl.getGLProfile(),textureFile,GL4.gl_RGBA16,GL4.gl_RGBA,false,TextureIO.PNG);
添加(TextureIO.newTexture(textureData));
}捕获(IOE异常){
System.err.println(“未能加载精灵纹理”);
e、 printStackTrace();
}
}
//diplay Sprite(Sprite类中的方法)
program.setUniforms();
gl.glBindVertexArray(vao[0]);
program.use();
gl.glActiveTexture(gl.gl_TEXTURE0);
gl.glUniform1i(gl.glGetUniformLocation(program.ID,“u_texture0”),0);
纹理。获取(0)。启用(gl);
纹理。获取(0)。绑定(gl);
glUniform1i(gl.glGetUniformLocation(program.ID,“u_textureAmnt”)、textures.size();
gl.gl元素(gl.gl_三角形,6,gl.gl_无符号,0);
用于(纹理:纹理){
纹理。禁用(gl);
}

我忘了启用Gl_Blend…

你说的“透明纹理”是什么意思?你可以传递内部格式:@gouessej我的意思是,某些纹理应该在它们下面显示纹理。也就是说,一个球员的精神请发布一个SSCCE,也许你的问题在别处。