有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

在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) 个答案