使用framebuffer进行后期处理:纹理可以是屏幕大小的吗?

时间:2017-01-27 11:48:16

标签: opengl textures framebuffer

我陷入两难境地。我在很多地方看到纹理不应该大于1024x1024像素,因为有些GPU不支持更大的尺寸。

但是如果我想渲染到帧缓冲区,那么我必须创建一个纹理,它具有屏幕的大小,现在通常大于1024x1024,即使在手机上也是如此。

是否可以保证我可以安全地创建设备原生屏幕分辨率大小的纹理?

如果没有"标准"为此,然后是问题的另一个表述:游戏开发者经常创建屏幕大小的纹理吗? (因为那时制造商被迫支持这种纹理尺寸。)

1 个答案:

答案 0 :(得分:1)

正如我在评论中所说,这取决于您打算在项目中使用的硬件以及您希望支持的设备数量。您需要查看可用的内容,以及您希望根据项目需求绘制线的位置。这些通常都是针对具体项目的。

这两个显示仍然稍微更老的显卡能够处理4096x4096纹理:

http://store.steampowered.com/hwsurvey

http://feedback.wildfiregames.com/report/opengl/feature/GL_MAX_TEXTURE_SIZE

移动场景更加困难,因为它更加分散。不过,ARM Mali GPU非常受欢迎。 2008年的模型也支持4096x4096纹理:

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka13314.html