我想在Visual Studio 2015中的C#项目中编译一个hlsl着色器文件。如果我添加一个hlsl文件,我会立即获得正确的属性,如下图所示:
但是当我想在我的C#项目(使用SharpDX)中执行此操作时,我没有获得这样的选项,因此无法编译为我的项目的CSO文件。
有没有人知道这方面的解决方案?
答案 0 :(得分:8)
现在有一个NuGet包Microsoft.HLSL.CSharpVB,它将对HLSL着色器属性的支持添加到C#和VB项目中:
此软件包在C#和VB项目中安装MSBuild对HLSL编译的支持。
请重新加载项目或重新启动Visual Studio,以便新的着色器构建操作显示在属性窗口中。
答案 1 :(得分:3)
您不能直接在C#项目中执行此操作,因为 Visual Studio HLSL 编译内置集成仅在 C ++中可用且可访问项目。
虽然您可以在同一个解决方案中放置一个空C ++项目,然后从那里添加和配置HLSL文件,然后从C#项目中引用生成的cso文件作为内容(并从C#添加项目依赖项 - > C ++项目)...通过一些MSBuild技巧,您还可以将生成的内容自动复制到C#项目中。