【发布时间】:2014-06-23 13:19:11
【问题描述】:
我正在尝试通过 Microsoft 在线学习这个简单的 Direct3D 教程:http://msdn.microsoft.com/en-us/library/windows/apps/ff729719.aspx。
我已经下载了源代码,但我终生无法让代码正确执行!我正在使用 Visual Studio 2013 和 windows kit 8.1 DirectX SDK。我在正确的目录中有 .hlsl 和 .fx 文件,但顶点着色器不会在运行时编译。我尝试过调整 Visual Studio 上的很多设置,但到目前为止没有任何效果。
任何帮助将不胜感激!
编辑:问题是 .hlsl 和 .fx 文件与 VS 构建的 .exe 文件不在同一个文件夹中。我不确定如何让 VS 在构建项目时将文件移动到同一文件夹。
【问题讨论】:
-
您介意与我们分享错误消息吗?这是桌面应用还是 Windows 应用商店应用? Windows 应用商店应用无法在运行时编译着色器。
-
我不确定如何获取错误消息。导致问题的代码是:
-
hr = D3DCompileFromFile(szFileName, nullptr, nullptr, szEntryPoint, szShaderModel, dwShaderFlags, 0, ppBlobOut, &pErrorBlob);
-
我实际上发现问题是 .hlsl 和 .fx 与 VS 制作的 .exe 不在同一个文件夹中。我不确定如何默认将它们放在那里,但是将它们粘贴到文件夹中并以这种方式运行 .exe。
标签: visual-studio directx shader directx-11 direct3d11