0

我有一个单一纹理的立方体 -

public class TextureDemo implements GLEventListener, KeyListener {    
    private Texture texture;    
}
public void init(GLAutoDrawable gLDrawable) {
    String filename="Picture1.jpg"; // the FileName to open
    texture=TextureIO.newTexture(new File( filename ),true);
}

public void display(GLAutoDrawable gLDrawable) {
    texture.bind();
    gl.glBegin(GL.GL_QUADS);
    // Front Face
    gl.glTexCoord2f(0.0f, 0.0f);
    gl.glVertex3f(-1.0f, -1.0f, 1.0f);
    gl.glTexCoord2f(2f, 0.0f);
    gl.glVertex3f(1.0f, -1.0f, 1.0f);
    gl.glTexCoord2f(2f, 1.0f);
    gl.glVertex3f(1.0f, 1.0f, 1.0f);
    gl.glTexCoord2f(0.0f, 1.0f);
    gl.glVertex3f(-1.0f, 1.0f, 1.0f);
    // Back Face
    ...

}

我试图在上面的立方体上设置多个纹理,意味着在“正面”之后,替换为另一个将对另一个立方体面生效的纹理。

我怎么能做到这一点?

4

1 回答 1

2

你绑定一个新的纹理。这告诉 GL 我们将要绘制的任何内容都将使用该纹理。

因此,为不同的 JPG 文件创建新纹理,然后绑定它,然后绘制一些顶点。

于 2013-08-08T13:10:40.400 回答