游戏中的 OpenGL FBO 纹理宽度高度

OpenGL FBO texture width height in games

我对游戏中的帧缓冲区对象有疑问。如果用户多次更改游戏中的屏幕分辨率,post-处理等的 FBO 尺寸会发生什么变化?您是否必须删除所有已创建的 FBO 并创建新的?调整它们的大小更好吗?还是创建一个处理程序来创建新的处理程序(如果它们尚不存在)并保存旧的(用户可能会切换回旧的屏幕分辨率)更好? (如果用户经常改变屏幕分辨率,最新的建议可能会消耗大量的图形内存)。

提前致谢。

根据我的说法,当您 "resize" 您的 window 时,有一些延迟并不是真正的问题。当您调整 window 的大小时,我猜您并不关心性能。据我所知,当你调整 window 时,你并不是真正在玩,而当你玩的时候,一般都是全屏模式。 所以有两种可能性:第一种,你固定所有帧缓冲区的大小,对于简单的游戏来说可能没问题,但不太适合 "complex games".

第二个大概是你说的。 FBO 的存在是为了向他们呈现一些东西,现在它可以是动态的,所以保持几个 fbo 大小的唯一目的是在调整大小时避免延迟。恕我直言,您可以不关心这些延迟,只需删除并重新创建 FBO。