Вопрос

Я пытаюсь выяснить, как отлаживать пиксель и вершины в DirectX, я пытался использовать Pix для Windows, но считаю, что он довольно глючный и эффективно не работает. Есть ли альтернатива, которая позволила бы мне отлаживать эти шейдеры в моем собственном приложении?

Это было полезно?

Решение

Я не знаю ни одного стороннего инструмента отладки HLSL-Shaders, но у меня был хороший опыт отладки его с помощью некоторых простых методов.

Вы можете просто скопировать целевые показатели рендеринга на процессоре и хранить его в растровом карте, распечатать его на терминал или получить доступ к нему в своем отладчике ЦП.

Если есть ошибка, вы должны сначала проверить, действительно ли используемые вами буферы действительно имеют правильные значения, в начале часто случается, что некоторые текстуры создаются с неправильными параметрами или данными ожидаются в другом порядке ... По моему опыту Это обычная исходная техника.

Другие советы

Короче, нет.

Да Pix немного глюка, но значительно улучшился с момента его первого выпуска. Убедитесь, что вы запускаете последнюю SDK!

Просто вывод информации отладки как цвет. Например, вы можете вывести 255*(нормальный+1) как r, g, b, вы можете вывести некоторую промежуточную переменную шейдера в виде цвета, или вы можете проверить, находится ли она в пределах границ в шейдере и выводится белый, если он есть, и черный Если это не так. Это обычно помогает.

Pix for Windows поставляется с SDK DirectX (с июня 2010 года я могу проверить) и позволит вам визуально отлаживать то, что вы устанавливаете в состояние, и позволить вам пройти через линию шейдеров. Это спасатель жизни.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top