2015-07-15 5 views
3

В MSDN ссылки HLSL состояния это о PRINTF:
Что делает функция printf в HLSL?

«Отправляет сообщение об шейдера в очереди информации.»

https://msdn.microsoft.com/en-us/library/windows/desktop/ff728755%28v=vs.85%29.aspx

Что такое очередь информации и как я могу увидеть сообщение шейдера? Означает ли это, что при использовании в пиксельном шейдере будут выводиться сообщения ширины * высота (экранные пиксели)?

Спасибо!

ответ

0

Его можно использовать для отслеживания шейдеров, в основном. Структура D3D11_TRACE_STEP может помочь вам получить сообщение, принятый Printf из HLSL, примером может служить следующее, что кажется, хорошо на первый взгляд (хотя написано в D):

https://github.com/evilrat666/directx-d/blob/master/src/directx/d3d11shadertracing.d

Может использоваться вместе с этим интерфейс для доступа к информации кальку:

https://msdn.microsoft.com/en-us/library/windows/desktop/hh446840(v=vs.85).aspx

Отказ от ответственности: это как раз то, что я нашел исследование темы, поэтому я не могу предоставить фактический пример кода. Для отладки шейдеров я бы скорее посоветовал использовать Renderdoc или графический отладчик VS