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 楼答案
好的,我找到了解决办法:https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/DecalTest.java