Добавляет ли #defines в HLSL снижение производительности? - PullRequest
1 голос
/ 18 февраля 2011

В HLSL препроцессор эквивалентен тому в C (++), где он буквально изменяет код перед компиляцией? Если это так, то использование таких методов, по-видимому, позволило бы специализировать шейдер без добавления условных операторов времени выполнения ... это правда?

1 Ответ

2 голосов
/ 19 февраля 2011

#define s работают так, как вы ожидаете.Они оцениваются во время компиляции.

Если вы хотите проверить выходные данные компилятора, чтобы убедиться в отсутствии (ненужных) ветвлений, используйте параметр /Fc <file> для компилятора HLSL (fxc) для генерации списка сборки скомпилированного шейдера.

...