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.