我们如何知道哪个纹理与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);
}
答案 0 :(得分:0)