19

所以,我有一个OpenGL ES 2.0应用程序。它使用 Imgtec 的仿真器库(即PVRVframe)在 iPhone/iPad 模拟器、真正的 iPhone/iPad 和 Windows 下编译和运行。

在所述应用程序中,我有一个特定的绘图调用,导致没有像素写入目标,即使我可以查询的所有状态看起来都很合理(视口、深度测试/模板测试/剔除/混合、帧缓冲区完成等),并且AFAICT 我正在提交合理的顶点数据。

在这一点上我所追求的是一个类似于Pix / GPAD的工具,它可以让我逐步浏览场景并查看状态我无法在相关的绘制调用点直接从 OpenGL 查询(例如,实际的顶点/索引缓冲区内容)。

PVRTrace和OSX 仪器似乎没有捕获足够的状态来调试此类问题。特别是,它们不捕获顶点/索引缓冲区或纹理数据(OSX 仪器也不捕获着色器源)。

gDEBugger,以前是 Stack Overflow 上此类问题的答案,现在是 5.8 版 - 它已经免费了,这很好,但不再支持 OpenGL ES 2(在 Windows 下,无法通过 EGL 获得 ES2 可渲染配置;在OSX,无法将调试器附加到在模拟器或真实设备上运行的应用程序) - 这不是很好。

我错过了一些明显的东西吗?我有哪些选择?其他人如何调试他们的场景?

4

3 回答 3

8

GPU 供应商提供了多种 OpenGL ES 1.1/2.0 调试工具。几乎这些工具都需要真实设备,但 Imagination Technologies 提供了您使用的仿真库和跟踪工具。您是否将 PVRTrace 与 PVRVFrame 一起使用?

(我相信 gDEBugger 5.7 是调试 OpenGL ES 1.1/2.0 的最佳工具。但它不再可用了……)

于 2011-04-05T04:16:07.300 回答
4

自 4.2 版以来,它在 Xcode 中是可能的,参见 https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_2.html#//apple_ref/doc/uid/00200-SW5

于 2012-03-09T23:11:03.533 回答
3

我发现 gDebugger 5.7 for Windows 在这里仍然可用:

http://files.gremedy.com/downloads/gDEBugger-5_7.msi

我修改了这个下载页面顶部的 URL:view-source:http://www.gremedy.com/downloading.php?platform=windows32

可能通过相同的技巧访问其他平台的相同版本。

此处提供旧许可证文件:http: //www.geeks3d.com/20101207/3d-programming-gdebugger-advanced-opengl-debugger-now-free/

但它于 2011 年 1 月 31 日到期。

于 2012-01-02T23:49:25.710 回答