Итак, у меня есть приложение 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). config доступен через EGL; в OSX нет возможности подключить отладчик к приложению, работающему ни в симуляторе, ни на реальном устройстве) — что не так приятно.
Я упускаю что-то очевидное? Каковы мои варианты? Как другие отлаживают свои сцены?