1

是否有用于加载和处理/反汇编 fxc 生成的 Direct3D (10,11) 着色器字节码文件的库?

我知道许多开发人员(和硬件供应商)都有内部工具来加载和处理 D3D 着色器字节码格式,但由于从 D3D10 开始,着色器字节码格式是私有的且仅限二进制,我想知道是否有任何公共资源可供使用它。

4

2 回答 2

1

看起来您想要HRESULT D3DDisassemble()DirectX SDK 中的功能:https://web.archive.org/web/20110625031033/http://msdn.microsoft.com/en-us/library/dd607326(v=VS.85)。 .aspx _

于 2009-10-03T18:31:53.153 回答
0

如果您不想或不能使用 Direct3DD3DDisassemble功能,那么有一些可用的开源库:

  • SlimShader是一个能够解析 Direct3D 10/11 着色器字节码的开源 .NET 库。(免责声明:我是 SlimShader 的作者。)有一个配套项目,SlimShader.VirtualMachine,它可以完全在 CPU 上执行反汇编的着色器。
  • fxdis是一个 C++ Direct3D 字节码反汇编器。
  • HLSLCrossCompiler是一个 C++ 库,可以解析 Direct3D 着色器字节码并将其转换为 GLSL。
于 2013-12-29T04:27:58.973 回答