Opengl es LibGDX-精灵到Pixmap

Opengl es LibGDX-精灵到Pixmap,opengl-es,sprite,textures,libgdx,pixmap,Opengl Es,Sprite,Textures,Libgdx,Pixmap,我正在使用LibGDX进行一个小的应用程序项目,我需要以某种方式获取一系列精灵,并将它们(或者说它们的像素)放置到一个Pixmap中。其基本思想是在应用程序运行时通过各种方式生成随机精灵,并且仅在特定时间将其中一些精灵合并到单个背景精灵上 我相信这大部分都可以很容易地完成,但是把精灵图像放到Pixmap中的步骤对我来说不是很明显。精灵也有不同的透明和半透明像素,因此在同一屏幕上简单地捕捉每个像素的颜色也不是真正适用的,因为它显然不应该将背景颜色与之搭配 如果有一个合适的替代方案,可以实现我所寻找

我正在使用LibGDX进行一个小的应用程序项目,我需要以某种方式获取一系列精灵,并将它们(或者说它们的像素)放置到一个Pixmap中。其基本思想是在应用程序运行时通过各种方式生成随机精灵,并且仅在特定时间将其中一些精灵合并到单个背景精灵上

我相信这大部分都可以很容易地完成,但是把精灵图像放到Pixmap中的步骤对我来说不是很明显。精灵也有不同的透明和半透明像素,因此在同一屏幕上简单地捕捉每个像素的颜色也不是真正适用的,因为它显然不应该将背景颜色与之搭配


如果有一个合适的替代方案,可以实现我所寻找的,我也很乐意听到它。非常感谢您的帮助。

我想您希望将精灵渲染到屏幕外缓冲区(称为“FBO”或libgdx)(在添加时混合),然后将屏幕外缓冲区渲染为单个绘图调用?如果是这样,这个问题应该有助于:


这需要OpenGL ES 2.0,这将消除对一些旧设备的支持。

好吧,FBO听起来对我来说是正确的,但我在当前设置中使用它们的实验都没有被证明是非常成功的(尽管我对OpenGL了解不多,可能只是做错了事情)。此外,我希望在Pixmap中实际包含像素数据,因为这似乎是在像素基础上不时修改像素的最佳方式。如果您要在CPU上访问像素,并在CPU上生成这些纹理,那么,您可能应该自己在CPU上合成它们,完全避免使用OpenGL?嗯,这是有道理的,但我相信,对于我正在尝试实现的复杂设置,成功地这样做目前有点让我不知所措。希望它们出现在Pixmap中的主要原因是能够有选择地删除特定区域,但我相信这也有可能以不同的方式进入FBO路线。我认为现在阻碍它工作的是我在这方面的知识不足,所以我会多做一点,看看我能不能做些更有前途的事情。