2

我最近看到了这篇博客文章又一篇关于伽马校正的文章,它教会了我D3DPMISCCAPS_POSTBLENDSRGBCONVERT功能标志的可用性。

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

我不明白如何处理它?我可以查询我的设备 Direct3D 9Ex 设备以获取此功能,但如果支持,我该如何启用它?我可以在混合转换前和混合后选择吗?如果是,如何?

谢谢你的帮助!

4

1 回答 1

3

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

由于只有较旧的硬件应该在 sRGB 中混合(DX10 需要线性混合),您可以选择禁用这些部分的伽马校正渲染。或者,如果您愿意牺牲性能,您可以混合到非 sRGB 目标(以获得线性混合),然后从该目标复制到 sRGB 目标。

于 2011-06-27T18:55:05.000 回答