2

我正在尝试学习一些 DirectX11,并且我发现了我正在关注的好教程;然而,由于某种原因,程序崩溃(出现窗口,但随后出现“未响应”消息框),即使构建成功。关于创建着色器文件的一些事情,作者确实指定了如何做,我想确保我没有在那里犯任何错误,这就是我的程序崩溃的原因。所以我的问题是:

  1. 如何创建着色器文件?在本教程中,我们使用扩展名 .fx,但是当您在 vs 中添加文件时,您只能从 .h 和 .cpp 中进行选择。您只需要选择 .cpp 然后在文件名末尾添加 .fx 吗?

  2. 该文件应该在哪个目录中?(我的文件目前在源文件中)

4

2 回答 2

0

.fx 将其与效果文件相关联。这意味着您在同一个文件中有许多着色器的组合。你能发布一些你的渲染循环的代码......另外,你是在调用 Present 方法吗?即,

m_pSwapChain->Present(0, 0);
于 2013-04-17T12:14:57.527 回答
0
  1. 是的,这会奏效。另一种方法是创建一个 .txt 然后将扩展名更改为 .fx (要显示文件扩展名只需打开任何文件夹,单击菜单中的组织按钮,然后选择“文件夹和搜索选项”。取消选中该框选项卡视图下的“隐藏已知文件类型的扩展名”)。更改扩展名后,您可以在记事本中打开文档并在那里编写代码

  2. 进入您的项目文件夹(在 Windows 文件系统中)并创建一个名为 Data 的地图。在那里添加你的 .fx 文件。然后转到您的解决方案资源管理器并右键单击项目并选择属性。转到构建事件 -> 预构建事件。在“命令行”框中添加“xcopy /y /d "$(ProjectDir)Data" "$(OutDir)" 行。现在在构建项目时,文件将被复制到正确的位置,您将能够使用您的 .fx 文件。

于 2013-03-16T12:07:42.570 回答