Як я можу налагоджувати шейдерні програми?


18

Я зараз налагоджую вершинні шейдери вершини GLSL, і я не можу похитнути відчуття, що я роблю це неправильно.

Загалом у мене є дві стратегії, щоб компенсувати відсутність трасування

  • Я вкладаю значення в колір налагодження, змінюючи те, що я передаю шейдер фрагмента, а потім намагаюся інтерпретувати кольори.
  • Я змінюю код вершинного шейдера і бачу, що відбувається.

Я думаю, що в ідеалі я міг би компенсувати відсутність трасування, записавши значення на текстуру якось, прочитавши текстуру з графічного процесора та надрукувавши значення, наповнені текстурою.

Я здогадуюсь, що можливі кращі шляхи. Будь-які пропозиції?

Відповіді:


3

Мій друг використав для цього glslDevil і сказав, що це нормально.

Якщо ви не прив'язані до GLSL, Microsoft має неймовірний інструмент для DirectX під назвою PIX , але я не думаю, що для OpenGL немає нічого еквівалентного.


Я завантажив glslDevil, але я не можу отримати більшість функцій для роботи. Відстеження працює і переходить через шейдери, але я не бачу значень змінних.
Джонатан Фішофф

2

У nVidia є дивовижний налагоджувач шейдерів. Ви можете знайти його та його характеристики ТУТ

Оновлення 2016: Також є плагін Visual Studio, який, швидше за все, це їх нові зусилля у допомозі розробникам, тут: https://developer.nvidia.com/nvidia-nsight-visual-studio-edition


typo: його характеристики
o0 '.

Дякую. =) Я розумію, що це правильно 70% часу. Я звинувачую DainBramage.
Найлер

відсутня підтримка GLSL :(, але, схоже, я можу автоматично перетворити cg-шейдери в glsl, я можу спробувати це.
Jonathan Fischoff

Ви маєте рацію з цього приводу, але я думаю, що переваги переважають за недоліки. Крім того, FX композитор - це дуже чудовий додаток.
Nailer

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.