繁体   English   中英

编译没有效果或d3dcompiler.h的DirectX 11着色器

[英]Compile DirectX 11 shader without effects or d3dcompiler.h

我试图在大学计算机上使用Visual Studio 2010在Windows 7计算机上编译DirectX 11着色器。 我可以在没有效果的家用Windows 8计算机上使用d3dcompiler.h的内容很好地编译它们,但是大学计算机似乎都缺少Effects和d3dcompiler.h。 我没有管理权限,因此无法安装SDK或类似软件。 有编译HLSL着色器的替代方法吗? 还是我不得不以某种方式在自己的计算机上为VS2010编译d3dcompiler lib文件并将其复制? 我问是因为我真的很想能够在大学里从事我的游戏项目,但是事实证明,这比我预期的要困难得多。 谢谢你的帮助! :d

VS 2012和VS 2013包含Windows 8.x SDK,因此它们已经具有HLSL编译器FXC.EXE工具和D3DCompile API。 VS 2010早于该集成,因此您必须使用旧版DirectX SDK *

如果您通常不使用Effects 11系统或D3DReflect,则可以在家中预编译着色器。 您可以让FXC生成带有数据块的C头文件,也可以使二进制着色器文件。 这是DirectX Tool Kit所使用的技术,它包括所有预构建为C标头的着色器,并且大多数游戏附带将其所有着色器预构建为二进制文件。

使用Effects 11,您还可以预编译着色器,但是它需要在运行时使用D3DCompile API进行着色器反射。

如果您的大学系统安装了旧版DirectX SDK,则您的项目可能只是缺少VC ++目录设置,无法进入那些包含/库路径。

脚注* =实际上,您也可以将Windows 8.x SDK与VS 2010一起使用,但大学计算机系统不太可能安装它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM