在DirectX12中,一个重要的HLSL高级语法对象就是根签名对象,当前有两种主要的方式来得到根签名:一种是编写一个HLSL代码文件,然后编译得到;另一种方式是在C++代码中填充D3D12_ROOT_SIGNATURE_DESC结构体后创建得到。
后一种方法纯代码,此处暂且不表。
而利用HLSL代码文件方式时,可以利用fxc.exe工具来编译,具体做法是在VS2015中建立一个HLSL代码文件:
然后在此文件图标上点击右键:
弹出如下窗户,选中左边常规选项后,右侧项类型中选中HLSL编译器:
接着选中HLSL编译器选项:
当然如果你的项目本身目标平台是Win10以上平台时,上述操作之后,你直接右键编译你的HLSL根签名代码文件就会生成对应的CSO文件,之后在代码中加载使用即可。
这里需要注意的是,在第五幅图片中,很有可能你无法选择rootsig_1_0选项,这时你需要先去设置项目属性中的目标平台,如下图:
点击应用确定之后,项目就是面向Win10以上的平台了,此时整个工程也就正常的支持DX12及Shader Model 5.1了,然后折回根签名代码文件,继续右键属性,设置rootsig_1_0选项即可。点击确定后,右键就可以正常编译生成根签名文件了。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容