LibGDX / OpenGL在FrameBuffer中绘制单独的纹理?

时间:2014-09-09 17:39:55

标签: java android opengl-es libgdx framebuffer

因此,我尝试使用TextureRegion将多个FrameBuffer合并为一个。当TextureRegion s来自同一个Texture对象/文件时,这非常有效,但是当我尝试将TextureRegion s与不同的原始纹理组合时,只有TextureRegion从一个纹理文件中绘制出来的。 <* 1}}具有不同纹理的原点不会被绘制。

例如,我有两个纹理:

TextureRegion

我设置Texture tex1 = new Texture(path to texture 1); Texture tex2 = new Texture(path to texture 2); TextureRegion reg1a = new TextureRegion(region from tex1); TextureRegion reg2a = new TextureRegion(region from tex2); TextureRegion reg1b = new TextureRegion(another region from tex1); 就像这样:

FrameBuffer

在我的绘制方法中,我执行以下操作:

buffer = new FrameBuffer(Pixmap.Format.RGBA8888, WIDTH, HEIGHT, true);

使用上述绘制方法,仅绘制buffer.begin(); batch.draw(reg1a, x, y); batch.draw(reg2a, x, y); buffer.end(); batch.draw(buffer.getColorBufferTexture()); 。 reg1根本没有出现。

reg2

使用此绘制方法buffer.begin(); batch.draw(reg1a, x, y); buffer.end(); batch.draw(buffer.getColorBufferTexture()); 被绘制,因此纹理没有任何问题。

reg1

此绘制方法呈现buffer.begin(); batch.draw(reg1a, x, y); batch.draw(reg1b, x, y); buffer.end(); batch.draw(buffer.getColorBufferTexture()); reg1a,因为它们都来自同一个reg1b对象/文件。

我希望能够做的是从同一Texture中的不同TextureRegion个对象中抽取Texture并让它们都出现。

我尝试过在一个FrameBuffer中使用一个Texture,在另一个FrameBuffer中使用另一个,然后将这两个FrameBuffers绘制到一个新的FrameBuffer中,但这会产生同样的问题。

非常感谢任何帮助!

0 个答案:

没有答案