我需要在Android上的OpenGL ES应用程序中使用两个乒乓帧缓冲区。我还需要它们与设备屏幕尺寸相同。深度缓冲区和模板缓冲区都不会仅附加到RGBA8888颜色缓冲区。
我计划使用它们添加一些类似Photoshop的混合模式(彩色刻录,叠加等)
我能在大多数现代设备(例如Android 3.0,OpenGL ES 2.0以上)设备上买得起吗?如果不是那么为什么?以及如何确定我可以在创建之前创建它?
答案 0 :(得分:0)
对于Android 3.0以上的设备,我认为这应该是合理安全的,我认为它们都应该运行OpenGLES 2.0?
你的瓶颈将是记忆(虽然我会想到,但不太可能在这里跑出来)以及你需要打乒乓这些缓冲区的复杂性。我使用OpenGLES 2.0将this fluid simulation移植到Android,后者在很大程度上依赖于乒乓帧缓冲来执行模拟更新。
我在三星Galaxy S4和Nexus 7(2012)上有6个左右的全屏帧缓冲区,所有这些都创建得很好。我的问题是模拟本身非常复杂,而这些设备无法执行。
我无法想象内存是2个全屏缓冲区的问题,性能可能会好,这取决于你渲染它们的频率。
不确定这有多大帮助,因为它取决于您的使用情况。
在检查设备是否可以处理它时,您是否可以检查glFramebufferTexture2D在尝试将其附加到FBO时返回的内容?