如何判断在OpenGL / libgdx中绘制纹理的位置?

时间:2014-01-10 01:09:27

标签: java opengl textures libgdx render

我们如何知道哪个纹理与OpenGL中的哪个网格相关?在这个例子中,我们告诉网格我们使用纹理坐标,但是我们不说哪个纹理(如果我们有多个纹理),并且我们不告诉纹理在哪里绘制。它是如何工作的? (我知道UV的概念,但我不知道“在哪里”绘制纹理的概念):

mesh = new Mesh(true, 4, 6,
     new VertexAttribute(VertexAttributes.Usage.Position, 3,"attr_Position"),
     new VertexAttribute(Usage.TextureCoordinates, 2, "attr_texCoords"));
texture = new Texture(Gdx.files.internal("data/img.png"));
mesh.setVertices(new float[] { 
      -1024f, -1024f, 0, 0, 1,
       1024f, -1024f, 0, 1, 1,
       1024f,  1024f, 0, 1, 0,
      -1024f,  1024f, 0, 0, 0
});


@Override
public void render() {
    // Texturing --------------------- /
    gl.glActiveTexture(GL10.GL_TEXTURE0);
    gl.glEnable(GL10.GL_TEXTURE_2D);
    texture.bind();

    mesh.render(GL10.GL_TRIANGLES);
}

1 个答案:

答案 0 :(得分:0)