我有一个简单的渲染方法,我想用它来绘制一个简单的网格物体。下面的代码,使用TextureRegion类而不是Texture呈现脏的和破碎的网格。它似乎渲染了从中提取区域的整个纹理图集而不是纹理区域:
public void (SpriteBatch batch, OrthographicCamera camera){
mesh.setVertices(vert);
mesh.setIndices(indi);
Gdx.gl20.glEnable(GL20.GL_BLEND);
Gdx.graphics.getGL20().glEnable(GL20.GL_TEXTURE_2D);
shader.begin();
shader.setUniformMatrix("u_worldView", camera.combined);
shader.setUniformi("u_texture", 0);
textureRegion_laser.getTexture().bind(0);
mesh.render(shader, GL20.GL_TRIANGLES);
shader.end();
Gdx.gl20.glDisable(GL20.GL_BLEND);
Gdx.graphics.getGL20().glDisable(GL20.GL_TEXTURE_2D);
}
下面的代码使用Texture而不是TextureRegion正确绘制网格。什么是pb?
public void (SpriteBatch batch, OrthographicCamera camera){
mesh.setVertices(vert);
mesh.setIndices(indi);
Gdx.gl20.glEnable(GL20.GL_BLEND);
Gdx.graphics.getGL20().glEnable(GL20.GL_TEXTURE_2D);
shader.begin();
shader.setUniformMatrix("u_worldView", camera.combined);
shader.setUniformi("u_texture", 0);
texture.bind(0);
mesh.render(shader, GL20.GL_TRIANGLES);
shader.end();
Gdx.gl20.glDisable(GL20.GL_BLEND);
Gdx.graphics.getGL20().glDisable(GL20.GL_TEXTURE_2D);
}