OpenGL ES 2.0调试 [英] OpenGL ES 2.0 debugging
问题描述
所以,我有一个 OpenGL ES 2.0 应用程序。它在iPhone / iPad模拟器,真实的iPhone / iPad和Windows下使用Imgtec的模拟器库(即 PVRVframe )进行编译和运行。
<在所述应用程序中,我有一个特定的绘图调用,导致没有像素写入目标,即使我可以查询的所有状态看起来都很明智(视口,深度测试/模板测试/剔除/混合,帧缓冲区完成等)和AFAICT我正在提交明智的顶点数据。
此时我之后是一个 Pix / GPAD - 就像让工具通过现场和审查状态,我无法从所涉及的绘图调用点(例如,实际顶点/索引缓冲区内容)直接从OpenGL中查询。
PVRTrace 或 OSX乐器似乎捕获足够的状态来调试此类问题。特别是,它们不捕获顶点/索引缓冲区或纹理数据(OSX工具也不捕获着色器源)。
gDEBugger 以前在Stack Overflow上的这个问题的答案现在在5.8版本 - 它是免费的,这是很好的,但不再支持OpenGL ES 2(在Windows下,没有ES2-renderable配置可通过EGL使用;在OSX下,没有办法将调试器附加到在模拟器或真实设备上运行的应用程序) - 这不是很好。
我是否缺少一些明显的东西?我有什么选择?他们如何调试他们的场景?
So, I have an OpenGL ES 2.0 app. It compiles and runs in the iPhone/iPad simulators, on a real iPhone/iPad, and under Windows using Imgtec's emulator libraries (i.e. PVRVframe).
In said app, I have one particular draw call that results in no pixels written to the target, even though all the state I can query looks sensible (viewport, depth test/stencil test/cull/blend off, framebuffer complete etc), and AFAICT I am submitting sensible vertex data.
What I'm after at this point is a Pix / GPAD - like tool that will let me step through the scene and review state I cannot directly query from OpenGL at the point of the draw call in question (e.g. actual vertex/index buffer content).
Neither PVRTrace nor the OSX instruments appear to capture enough state for debugging this kind of problem. In particular, they do not capture vertex/index buffer or texture data (OSX instruments doesn't capture shader source either).
gDEBugger, previously the answer to this sort of question on Stack Overflow, is now at version 5.8 - it's gone free, which is nice, but no longer supports OpenGL ES 2 (under Windows, no ES2-renderable config is available through EGL; under OSX, there is no way to attach the debugger to an app running either in the simulator or on the real device) - which is not as nice.
Am I missing something obvious? What are my options? How do others debug their scenes?
It's possible in Xcode since version 4.2, c.f. https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_2.html#//apple_ref/doc/uid/00200-SW5
这篇关于OpenGL ES 2.0调试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!