iOS OpenGL ES Analyzer 列出“不存在的帧缓冲区附件”和“缺少帧缓冲区附件”,但 FBO 工作

Posted

技术标签:

【中文标题】iOS OpenGL ES Analyzer 列出“不存在的帧缓冲区附件”和“缺少帧缓冲区附件”,但 FBO 工作【英文标题】:iOS OpenGL ES Analyzer lists "Non-Existent Framebuffer Attachment" and "Missing Framebuffer Attachment", yet the FBO works 【发布时间】:2012-05-13 16:17:36 【问题描述】:

我正在使用 OpenGL 帧缓冲区对象 (FBO) 在 ios 上实现模板阴影。代码可以工作——也就是说,从视觉上看,模板缓冲区正在完成这项工作,而且性能似乎还不错。

但是,当我通过 OpenGL ES Analyzer 工具运行应用程序时,它会抱怨“不存在帧缓冲区附件”和“缺少帧缓冲区附件”。我无法理解这些消息,因为 FBO 确实有颜色、深度和模板的附件。调用 glCheckFramebufferStatus() 返回 GL_FRAMEBUFFER_COMPLETE,表示没有问题。

这是 Instrument 的 OpenGL Analyzer 中的错误吗?

另见this thread,它没有给出答案,但提出了同样的问题。

【问题讨论】:

我在 FBO 中看到了同样的情况,它只有一个纹理支持它,尽管 FBO 按预期运行,但分析器会抛出相同的错误。我倾向于认为这是一个错误,但我还没有完成自己的调查。 你找到答案了吗?我在这里遇到同样的问题 @PeeS 我从来没有这样做过,我仍然有这个问题。这是正确的皇家痛苦。另外一点信息:如果我使用“OpenGL ES Capture”查看帧的实际函数调用,则警告引用的帧缓冲区实际上似乎具有所有正确的部分。所以警告的原因是双重神秘的。 @OldPeculier 这正是发生在我身上的事情。我有一个屏幕外 FBO,texture2d 附加为颜色附件 0,depth-texture2d 附加为深度附件,我可以看到一切渲染完美,通过 ES Capture 捕获帧显示可疑,但 Instruments 一直说公牛。我已经问过apple.com devforums.apple.com/message/683346#683346 找不到为什么会发生这种情况。很高兴知道我并不孤单;)希望我们能找到原因。以下是它的样子stravaganza.pl/GL/1.pngstravaganza.pl/GL/0.png 【参考方案1】:

我终于在他们的论坛上得到了 Apple 的答复:

APPLE OFFICIAL REPLY

感谢您报告此错误。这是一个已知问题,已在 Xcode 4.4 和 4.5 开发者预览版。干杯,赛斯。

【讨论】:

以上是关于iOS OpenGL ES Analyzer 列出“不存在的帧缓冲区附件”和“缺少帧缓冲区附件”,但 FBO 工作的主要内容,如果未能解决你的问题,请参考以下文章

IOS – OPenGL ES 调节图像饱和度 GPUImageSaturationFilter

IOS – OpenGL ES 图像漩涡 GPUImageSwirlFilter

IOS OpenGL ES GPUImage GPUImageWeakPixelInclusionFilter

IOS – OpenGL ES 图像漩涡 GPUImageSwirlFilter

IOS – OpenGL ES 图像漩涡 GPUImageSwirlFilter

IOS – OpenGL ES 调节图像色度 GPUImageHueFilter