【问题标题】:DirectX-11 Vertex Shader Runtime Compilation IssueDirectX-11 顶点着色器运行时编译问题
【发布时间】: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


【解决方案1】:

旧版 DirectX SDK 示例项目需要修改才能使用 VS 2012/Windows 8.0 SDK 或 VS 2013/Windows 8.1 SDK 构建。详情请见MSDN。

您可以使用 MSDN Code Gallery 上仅使用 VS 2013/Windows 8.1 SDK 构建的 Win32 桌面 Direct3D 教程,而不是使用旧版 DirectX SDK。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多