Jak mogę debugować programy do cieniowania?


18

Debuguję shadery wierzchołków GLSL i nie mogę pozbyć się wrażenia, że ​​robię to źle.

Ogólnie rzecz biorąc, mam dwie strategie, aby zrekompensować brak śledzenia

  • Wpisuję wartości w kolor debugowania różniący się, który przekazuję do modułu cieniującego fragmenty, a następnie próbuję interpretować kolory.
  • Zmieniam kod modułu cieniującego wierzchołki i widzę, co się stanie.

Myślę, że idealnie nadrobiłbym brak śledzenia, pisząc wartości do tekstury, czytając teksturę z GPU i drukując wartości wypchane w teksturze.

Domyślam się, że mogą istnieć o wiele lepsze sposoby. Jakieś sugestie?

Odpowiedzi:



2

nVidia ma niesamowity debugger shaderów. Możesz go znaleźć i jego specyfikacje TUTAJ

Aktualizacja 2016: Dostępna jest również wtyczka Visual Studio, która najprawdopodobniej jest ich nowym wysiłkiem w zakresie pomocy programistom, tutaj: https://developer.nvidia.com/nvidia-nsight-visual-studio-edition


literówka: jego specyfikacje
— o0 '.

dzięki. =) Mam rację w 70% przypadków. Obwiniam DainBramage.
— Nailer

nie obsługuje jednak GLSL :(, ale wygląda na to, że mogę automatycznie przekonwertować shadery cg na glsl, może spróbować
— Jonathan Fischoff

Masz rację, ale myślę, że zalety przeważają nad wadami. Poza tym kompozytor efektów jest całkiem sprytną aplikacją.
— Nailer

Uszkodzony link ....
— UpTheCreek
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.