我正在拼凑有关如何在一系列不同教程之后导入模型的信息,因为没有资源可以解释如何以简单的方式执行此操作。
到目前为止,我可以导入并显示我的模型,但如果我使用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);
答案 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。