我可以在Android上拥有两个屏幕尺寸的乒乓球帧缓冲区吗?

时间:2015-04-27 12:54:38

标签: android opengl-es framebuffer fbo

我需要在Android上的OpenGL ES应用程序中使用两个乒乓帧缓冲区。我还需要它们与设备屏幕尺寸相同。深度缓冲区和模板缓冲区都不会仅附加到RGBA8888颜色缓冲区。

我计划使用它们添加一些类似Photoshop的混合模式(彩色刻录,叠加等)

我能在大多数现代设备(例如Android 3.0,OpenGL ES 2.0以上)设备上买得起吗?如果不是那么为什么?以及如何确定我可以在创建之前创建它?

1 个答案:

答案 0 :(得分:0)

对于Android 3.0以上的设备,我认为这应该是合理安全的,我认为它们都应该运行OpenGLES 2.0?

你的瓶颈将是记忆(虽然我会想到,但不太可能在这里跑出来)以及你需要打乒乓这些缓冲区的复杂性。我使用OpenGLES 2.0将this fluid simulation移植到Android,后者在很大程度上依赖于乒乓帧缓冲来执行模拟更新。

我在三星Galaxy S4和Nexus 7(2012)上有6个左右的全屏帧缓冲区,所有这些都创建得很好。我的问题是模拟本身非常复杂,而这些设备无法执行。

我无法想象内存是2个全屏缓冲区的问题,性能可能会好,这取决于你渲染它们的频率。

不确定这有多大帮助,因为它取决于您的使用情况。

在检查设备是否可以处理它时,您是否可以检查glFramebufferTexture2D在尝试将其附加到FBO时返回的内容?