【问题标题】:What does the printf function in HLSL do?HLSL 中的 printf 函数有什么作用?
【发布时间】:2015-07-15 07:44:26
【问题描述】:

MSDN HLSL 参考对 printf 进行了说明:

“向信息队列提交自定义着色器消息。”

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

什么是信息队列,如何查看着色器消息?是不是说在pixel shader中使用时会输出width*height(屏幕像素)信息?

谢谢!

【问题讨论】:

    标签: c++ shader hlsl


    【解决方案1】:

    它基本上可以用于着色器跟踪。 D3D11_TRACE_STEP 结构可以帮助您从 HLSL 中获取 printf 传递的消息,示例如下,乍一看似乎还可以(虽然是用 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 图形调试器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-04
      • 2019-08-15
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多