(DirectX9)混合后的sRGB转换

时间:2011-06-27 15:58:12

标签: directx directx-9 gamma srgb

我最近发现了这篇博文Yet another post about gamma correction,它告诉我D3DPMISCCAPS_POSTBLENDSRGBCONVERT能力标志的可用性。

这应该允许在DirectX9上混合后进行正确的sRGB转换。

我不明白该怎么办?我可以查询我的设备Direct3D 9Ex设备以获得此功能,但如果支持,我该如何启用它?我可以在前后混合转换之间进行选择吗?如果是,怎么样?

谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

这只是提供信息;没有办法启用或禁用。硬件在sRGB空间中混合(POSTBLENDSRGBCONVERT为FALSE)或者在线性空间中混合(POSTBLENDSRGBCONVERT为TRUE)。这个上限只是​​告诉你硬件的作用;你如何处理这将是特定于应用程序。

由于只有较旧的硬件应该在sRGB中混合(DX10需要线性混合),因此您可以选择在这些部件上禁用伽玛校正渲染。或者,如果您愿意承受性能,可以将混合到非sRGB目标(进行线性混合),然后从该目标复制到sRGB目标。