printf в GLSL?

В C я могу отлаживать код как:

fprintf(stderr, "blah: %f", some_var);

в GLSL ... В любом случае я могу просто выбросить значение в шейдер Vertex или Fragment? Мне все равно, если это медленно; Я просто хочу сбросить стоимость. В идеале мне нужна установка, подобная следующей:

  • нормальное состояние = нормально запустить шейдер GLSL
  • нажать клавишу 'd' = следующий кадр генерируется в медленном режиме ULTRA , где "printfs" в Вершинно-фрагментный шейдер выполняется и выгружается.

Это возможно? (Меня не волнует производительность; я просто хочу сделать это для одного кадра).

Спасибо!

36
задан UncleZeiv 23 June 2011 в 13:26
поделиться

1 ответ

Не думали ли вы о том, чтобы попробовать отладчик GLSL вместо вывода значений?

Например, glslDevil позволит вам пошагово выполнить ваш шейдер и проверить переменные на каждом шаге.

21
ответ дан 27 November 2019 в 06:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: