【问题标题】:Creating shader files创建着色器文件
【发布时间】:2013-03-15 15:40:15
【问题描述】:
我正在尝试学习一些 DirectX11,并找到了我正在学习的好教程;然而,由于某种原因程序崩溃(出现窗口,但随后出现“无响应”消息框),即使构建成功。关于创建着色器文件的一些事情,作者确实指定了如何做,我想确保我没有在那里犯任何错误,这就是我的程序崩溃的原因。所以我的问题是:
如何创建着色器文件?在本教程中,我们使用扩展名 .fx,但是当您在 vs 中添加文件时,您只能从 .h 和 .cpp 中进行选择。是否只需要选择.cpp,然后在文件名末尾添加.fx?
文件应该在哪个目录中? (我的文件目前在源文件中)
【问题讨论】:
标签:
c++
visual-studio-2010
shader
file-extension
directx-11
【解决方案1】:
是的,这会起作用。另一种方法是创建一个 .txt 然后将扩展名更改为 .fx
(要显示文件扩展名,只需打开任何文件夹,单击菜单中的组织按钮,然后选择“文件夹和搜索选项”。取消选中选项卡视图下的“隐藏已知文件类型的扩展名”框)。更改扩展后,您可以在记事本中打开文档并在那里编写代码
进入您的项目文件夹(在 Windows 文件系统中)并创建一个名为 Data。在那里添加你的 .fx 文件。然后转到您的解决方案资源管理器并右键单击项目并选择属性。转到构建事件 -> 预构建事件。在“命令行”框中添加“xcopy /y /d”$(ProjectDir)Data“$(OutDir)”行。现在在构建项目时,文件将被复制到正确的位置,您将能够使用您的 .fx 文件。
【解决方案2】:
.fx 将其与效果文件相关联。这意味着您在同一个文件中有许多着色器的组合。你能发布一些你的渲染循环的代码......另外,你是在调用 Present 方法吗?即,
m_pSwapChain->Present(0, 0);