跳至内容

FidelityFX 对比度自适应锐化 1.2

FidelityFX 对比度自适应锐化 (CAS) 是一种低开销的自适应锐化算法,可选择性地进行超采样。该技术由 Timothy Lottes(FXAA 的创建者)开发,旨在提供自然锐度而无伪影。

集成指南

锐度

一个浮点数值控制 CAS 的锐化强度。您可以在 ffx_cas.h 文件中通过 FfxCasDispatchDescription::sharpness 将锐化值传递给 ffxCasContextDispatch 函数,该值将被打包到内部常量缓冲区中。

锐化模式

在 CAS 示例中,可以选择三种锐化模式

  1. 禁用锐化。
  2. 启用锐化,禁用超采样。
  3. 同时启用锐化和超采样。

您也可以通过将 FfxCasContextDescription::flags 中的 FFX_CAS_SHARPEN_ONLY 设置为您自己来切换超采样模式。如果您需要启用超采样,请不要忘记在 FfxCasContextDescription 中设置渲染和显示分辨率信息。

色彩空间转换

CAS 需要线性输入的颜色才能正确执行。如果您的颜色缓冲区不是线性颜色空间,您可以将 FfxCasContextDescription::colorSpaceConversion 设置为 FfxCasColorSpaceConversion 支持的某个颜色空间,以指示您的输入颜色空间。CAS 在加载或输出颜色时会执行颜色空间转换(如果需要)。它还可以确保输出颜色空间与输入颜色空间相同。

如果您需要创建新的色彩空间转换函数,请按照以下步骤操作:

  1. FfxCasColorSpaceConversionCasShaderPermutationOptions 中创建相应的枚举值。
  2. ffx_cas_shaderblobs.cpp 文件中的 POPULATE_PERMUTATION_KEY 宏内添加新的分支。请参考现有分支。
  3. ffx_cas_callbacks.glslffx_cas_callbacks.hlsl 文件中的 casInputcasOuputcasInputHalfcasOutputHalf 函数中添加新的预编译器分支。在这些分支下,您应根据需要添加新的色彩空间转换。

另请参阅

© . This site is unofficial and not affiliated with AMD.