libGDX:FrameBuffer 大小限制 == 最大纹理大小?

Posted

技术标签:

【中文标题】libGDX:FrameBuffer 大小限制 == 最大纹理大小?【英文标题】:libGDX: FrameBuffer size limit == max texture size? 【发布时间】:2016-02-25 11:14:58 【问题描述】:

我想将我的 libGDX 游戏渲染到缓冲区,然后将缓冲区的内容渲染到屏幕。

为此,我计划使用 FrameBuffer。缓冲区尺寸假设等于屏幕的大小。例如,在平板电脑上可以是 2048x1536。

由于 FrameBuffer 输出是纹理,我有一些疑问。我知道大多数 android 设备的最大纹理大小为 1024x1024。是不是说FrameBuffer也有这个限制?

如果是这样,我应该使用 4 个帧缓冲区在 2048x1536 平板电脑上进行部分渲染吗?

【问题讨论】:

【参考方案1】:

现在大多数(较新的)Android 设备是 2048^2 或 4096^2。

我个人只是假设屏幕尺寸不大于最大尺寸(在移动设备上),但您可以检查 GL_MAX_TEXTURE_SIZE 来确定。

【讨论】:

我认为旧设备也可以处理 2048x2048。虽然我对 4096 会比较小心。

以上是关于libGDX:FrameBuffer 大小限制 == 最大纹理大小?的主要内容,如果未能解决你的问题,请参考以下文章

以世界单位设置Libgdx FrameBuffer大小

以世界单位设置 Libgdx FrameBuffer 大小

LibGDX - 无法从 FrameBuffer 获取纹理

LibGDX - 绘制到 FrameBuffer 不起作用

如何在 libgdx 中正确设置 FrameBuffer 的宽度和高度?

LibGDX FrameBuffer 混合