从libgdx渲染到Java Image,完全在屏幕外

时间:2012-11-25 14:11:10

标签: java image swing libgdx

我是libgdx的新手,我正在尝试将来自工作游戏引擎的~100个对象的(缩略图大小)图像渲染到我可以在{{1中显示的Java Image中应用程序。

我可以在LwjglCanvas罚款内在屏幕上呈现它们,然后我可以使用Swing抓取像素(试图传入ScreenUtils.getFrameBufferPixels()的{​​{1}}进入BufferedImage方法导致没有任何内容呈现为getGraphics()),并将其放入LwjglCanvas.paint(graphics)。但是,这需要现有的graphics;我根本无法弄清楚如何在没有渲染屏幕的情况下进行背景线程缩略图。

附加当前代码段(需要在画布中显示图像;在通过BufferedImage张贴到此画布的LwjglCanvas内执行)。

Runnable

1 个答案:

答案 0 :(得分:2)

我想你想要一个FrameBuffer对象。这些在OpenGL ES 2.0及更高版本中受支持,并允许您将OpenGL绘图命令运行到屏幕外缓冲区中。

如果FBO是“最新的”,我认为getFrameBufferPixels可以与FBO合作,但我告诉它不会。 (似乎原语适用于OpenGL,因此我不确定libGDX或OpenGL ES中是否缺少某些内容。请参阅FBOs render to texture and glReadPixels)。