我想知道如何在d3d9中使用最小精度.DX11规范描述了将最小精度枚举添加到d3d9中.但是,当我用min16float关键字编写像素着色器并用fxc.exe翻译它时,它会失败,并报告"ps_3_0不支持最小精度“。那么如何在d3d9中使用最小精度呢?
发布于 2022-08-23 19:07:49
TL;DR:用于像素着色器3.0,使用half而不是min16float。
DirectX 11最小着色器精度特性支持Direct3D硬件特征级9.x设备。在特征级别9.x上,VS和PS可以具有不同的精度,这是在AllOtherShaderStagesMinPrecision.AllOtherShaderStagesMinPrecision字段中表示的。
Direct3D 9着色器型号2.0只需24位精度像素着色器,并支持16位时,使用half或_pp类型。DirectX 11着色器对9.x特征级配置文件的精确特性支持利用了这一点。
https://stackoverflow.com/questions/73440730
复制相似问题