【发布时间】:2014-08-19 08:02:18
【问题描述】:
是否有一种简单的方法可以在应用程序运行时编辑着色器 fx 文件以查看更改?
现在我必须使用 DirectX11-net40\tkfxc.exe 手动重新编译它并重新启动我的整个应用程序以查看更改。
【问题讨论】:
-
您需要在您的应用程序中构建着色器替换功能。首先,您必须指定必须替换哪个着色器(为已编辑文件构建目录观察程序,并在着色器文件更改时发出事件)。然后你可以在你的应用程序中加载源代码并使用
D3DCompile()编译它(虽然我不知道这在 SharpDX 中是否可用(我不禁将它发音为“SharpDicks”!))。编译代码后,您只需使用device.CreateXXXShader()创建一个新的着色器,并将对旧着色器接口的引用替换为新的。 -
shaderdx 中的 D3DCompile 当然可用:ShaderBytecode.Compile 是相关函数。
标签: visual-studio directx-11 sharpdx