DirectX11 DirectXTK需要一个CSO文件进行测试

时间:2017-01-19 00:02:08

标签: c++ visual-studio-2015 directx directx-11

我正在拼凑有关如何在一系列不同教程之后导入模型的信息,因为没有资源可以解释如何以简单的方式执行此操作。

到目前为止,我可以导入并显示我的模型,但如果我使用DirectX :: BasicEffect

,它会在Gouraud着色器中显示

这使我的机械模型看起来非常阴影,因为它们是从Solidworks导出的。

我想尝试切换到DirectX :: DGSLEffect,但是我需要加载一个着色器,而且我没有任何着色器可以测试。

有人能指出我可以在哪里找到预编译的* .cso着色器吗?

我需要一个最好能做平面着色的,但我可以满足于任何,只是为了测试我的应用程序是否正常工作。

我知道我需要自己从.hlsl文件中编译一个着色器,但是这个步骤太多了,我只需要一些可以继续使用的东西,然后再继续,

谢谢你, -D

我想指出,我不是制作视频游戏,而是制作机械可视化工具,此时我不需要知道如何编写着色器或执行DirectX的任何高级功能。请不要推荐阅读书籍,因为这会影响我在这个项目上工作的时间。我想在将来学到更多,但不是这个应用程序。谢谢,

编辑:

看起来我可以用以下行编译,但现在我找不到任何HLSL文件。

ID3DBlob* PS_Buffer;
D3DCompileFromFile(L"PixelSHader.hlsl", 0, 0, "main", "ps_5_0", 0, 0, &PS_Buffer, 0);

1 个答案:

答案 0 :(得分:0)

CSO个文件是HLSL着色器。 Visual Studio可以从HLSL文件生成它们,DGSL管道可以使用可视语言创建像素着色器。

  

DirectX工具包 BasicEffect系统非常灵活,因此您可以在代码中覆盖参数或提供您自己的材料信息。有关详细信息,请参阅wiki

如果要使用Visual Studio内容管道,则应查看Working with 3-D Assets for Games and Apps以获取详细信息。 Visual Studio可转换WaveFront obj或Autodesk fbx文件,并可将DGSL材料作为该管道的一部分。 DirectX工具包 DGSLEffect提供了一个内置的顶点着色器,可以与DGSL着色器设计器输出一起使用。

如果您想要使用DGSLEffect管道的示例,请查看教程Creating custom shaders with DGSL