Como depurar programas shader?


18

Estou no processo de depuração de shaders de vértice GLSL e não consigo abalar a sensação de estar fazendo errado.

Em geral, tenho duas estratégias para compensar a falta de rastreamento

  • Coloco valores em uma cor de depuração variando que passo para o sombreador de fragmento e depois tento interpretar as cores.
  • Eu mudo o código do vertex shader e vejo o que acontece.

Estou pensando que, idealmente, eu poderia compensar a falta de rastreamento escrevendo valores em uma textura de alguma forma, lendo a textura da GPU e imprimindo os valores inseridos na textura.

Meu palpite é que pode haver maneiras muito melhores. Alguma sugestão?

Respostas:



2

A nVidia possui um incrível depurador de shader. Você pode encontrá-lo, e suas especificações, AQUI

Atualização 2016: Há também um plug-in do Visual Studio, que provavelmente é seu esforço mais recente para ajudar os desenvolvedores, aqui: https://developer.nvidia.com/nvidia-nsight-visual-studio-edition


erro de digitação: suas especificações
o0 '.

valeu. =) Eu entendi direito 70% das vezes. Eu culpo DainBramage.
Nailer

nenhum suporte GLSL embora :(, mas parece que eu posso converter shaders cg para GLSL automaticamente, pode dar um que tente.
Jonathan Fischoff

Você está certo sobre isso, mas acho que as vantagens superam as desvantagens. Além disso, o compositor FX é um aplicativo bastante bacana.
Nailer

Link quebrado ...
UpTheCreek 13/01
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.