【发布时间】:2014-02-25 09:14:33
【问题描述】:
是否有可能将帧缓冲区保存到纹理。这样我就可以重用帧缓冲区来创建新的纹理?
com.badlogic.gdx.graphics.glutils.FrameBuffer.getColorBufferTexture()
每次都会返回相同的纹理。
编辑:
我计算阴影,不想重新计算静态灯光。所以我想将静态灯光/阴影计算保存在纹理中。目前我必须为每个灯制作一个新的帧缓冲区来保存它们。那就是性能不佳。
【问题讨论】:
-
请提供更多信息。你到底想达到什么目的?您写道,您想重用与 Texture 相同的 FrameBuffer。但是然后你写“每次都会返回相同的纹理。”。这不是你想要的吗?
-
添加了更多信息。可以理解吗?
-
如果你开始/开始你的 FrameBuffer,渲染所有的灯光和阴影,然后结束 FrameBuffer 并调用
com.badlogic.gdx.graphics.glutils.FrameBuffer.getColorBufferTexture(),这应该会给你一个光照贴图的Texture。这不工作吗? -
Y 它给出了一个纹理,但是当我计算下一个光时,前一个将被覆盖。帧缓冲区始终只使用一种纹理。
-
您将整个灯光/阴影写入一个帧缓冲区,然后调用
getColorBufferTexture()。所以你有一个所有灯光的光照贴图。如果光线发生变化,您需要重新计算它,因此纹理也会发生变化。所以你只需要为所有的灯光使用 1 个纹理。
标签: java libgdx framebuffer render-to-texture