FidelityFX CACAO
FidelityFX CACAO
包含 API 后端接口。
FidelityFX Combined Adaptive Compute Ambient Occlusion 运行时库。
Defines
FFX_CACAO_VERSION_MAJOR
#define FFX_CACAO_VERSION_MAJOR (1)FidelityFX CACAO 主版本号。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 37 行, 第 9 列)
FFX_CACAO_VERSION_MINOR
#define FFX_CACAO_VERSION_MINOR (4)FidelityFX CACAO 次版本号。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 42 行, 第 9 列)
FFX_CACAO_VERSION_PATCH
#define FFX_CACAO_VERSION_PATCH (0)FidelityFX CACAO 修订版本号。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 47 行, 第 9 列)
FFX_CACAO_PREPARE_DEPTHS_AND_MIPS_WIDTH
#define FFX_CACAO_PREPARE_DEPTHS_AND_MIPS_WIDTH 8PREPARE_DEPTHS_AND_MIPS 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 55 行, 第 9 列)
FFX_CACAO_PREPARE_DEPTHS_AND_MIPS_HEIGHT
#define FFX_CACAO_PREPARE_DEPTHS_AND_MIPS_HEIGHT 8PREPARE_DEPTHS_AND_MIPS 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 59 行, 第 9 列)
FFX_CACAO_PREPARE_DEPTHS_WIDTH
#define FFX_CACAO_PREPARE_DEPTHS_WIDTH 8PREPARE_DEPTHS 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 64 行, 第 9 列)
FFX_CACAO_PREPARE_DEPTHS_HEIGHT
#define FFX_CACAO_PREPARE_DEPTHS_HEIGHT 8PREPARE_DEPTHS 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 68 行, 第 9 列)
FFX_CACAO_PREPARE_DEPTHS_HALF_WIDTH
#define FFX_CACAO_PREPARE_DEPTHS_HALF_WIDTH 8PREPARE_DEPTHS_HALF 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 73 行, 第 9 列)
FFX_CACAO_PREPARE_DEPTHS_HALF_HEIGHT
#define FFX_CACAO_PREPARE_DEPTHS_HALF_HEIGHT 8PREPARE_DEPTHS_HALF 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 77 行, 第 9 列)
FFX_CACAO_PREPARE_NORMALS_WIDTH
#define FFX_CACAO_PREPARE_NORMALS_WIDTH 8PREPARE_NORMALS 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 82 行, 第 9 列)
FFX_CACAO_PREPARE_NORMALS_HEIGHT
#define FFX_CACAO_PREPARE_NORMALS_HEIGHT 8PREPARE_NORMALS 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 86 行, 第 9 列)
PREPARE_NORMALS_FROM_INPUT_NORMALS_WIDTH
#define PREPARE_NORMALS_FROM_INPUT_NORMALS_WIDTH 8PREPARE_NORMALS_FROM_INPUT_NORMALS 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 91 行, 第 9 列)
PREPARE_NORMALS_FROM_INPUT_NORMALS_HEIGHT
#define PREPARE_NORMALS_FROM_INPUT_NORMALS_HEIGHT 8PREPARE_NORMALS_FROM_INPUT_NORMALS 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 95 行, 第 9 列)
FFX_CACAO_GENERATE_SPARSE_WIDTH
#define FFX_CACAO_GENERATE_SPARSE_WIDTH 4GENERATE_SPARSE 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 103 行, 第 9 列)
FFX_CACAO_GENERATE_SPARSE_HEIGHT
#define FFX_CACAO_GENERATE_SPARSE_HEIGHT 16GENERATE_SPARSE 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 107 行, 第 9 列)
FFX_CACAO_GENERATE_WIDTH
#define FFX_CACAO_GENERATE_WIDTH 8GENERATE 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 112 行, 第 9 列)
FFX_CACAO_GENERATE_HEIGHT
#define FFX_CACAO_GENERATE_HEIGHT 8GENERATE 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 116 行, 第 9 列)
IMPORTANCE_MAP_WIDTH
#define IMPORTANCE_MAP_WIDTH 8IMPORTANCE_MAP 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 124 行, 第 9 列)
IMPORTANCE_MAP_HEIGHT
#define IMPORTANCE_MAP_HEIGHT 8IMPORTANCE_MAP 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 128 行, 第 9 列)
IMPORTANCE_MAP_A_WIDTH
#define IMPORTANCE_MAP_A_WIDTH 8IMPORTANCE_MAP_A 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 133 行, 第 9 列)
IMPORTANCE_MAP_A_HEIGHT
#define IMPORTANCE_MAP_A_HEIGHT 8IMPORTANCE_MAP_A 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 137 行, 第 9 列)
IMPORTANCE_MAP_B_WIDTH
#define IMPORTANCE_MAP_B_WIDTH 8IMPORTANCE_MAP_B 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 142 行, 第 9 列)
IMPORTANCE_MAP_B_HEIGHT
#define IMPORTANCE_MAP_B_HEIGHT 8IMPORTANCE_MAP_B 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 146 行, 第 9 列)
FFX_CACAO_BLUR_WIDTH
#define FFX_CACAO_BLUR_WIDTH 16BLUR 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 154 行, 第 9 列)
FFX_CACAO_BLUR_HEIGHT
#define FFX_CACAO_BLUR_HEIGHT 16BLUR 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 158 行, 第 9 列)
FFX_CACAO_APPLY_WIDTH
#define FFX_CACAO_APPLY_WIDTH 8APPLY 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 166 行, 第 9 列)
FFX_CACAO_APPLY_HEIGHT
#define FFX_CACAO_APPLY_HEIGHT 8APPLY 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 170 行, 第 9 列)
FFX_CACAO_BILATERAL_UPSCALE_WIDTH
#define FFX_CACAO_BILATERAL_UPSCALE_WIDTH 8BILATERAL_UPSCALE 传递的瓦片尺寸的宽度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 178 行, 第 9 列)
FFX_CACAO_BILATERAL_UPSCALE_HEIGHT
#define FFX_CACAO_BILATERAL_UPSCALE_HEIGHT 8BILATERAL_UPSCALE 传递的瓦片尺寸的高度。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 182 行, 第 9 列)
FFX_CACAO_CONTEXT_SIZE
#define FFX_CACAO_CONTEXT_SIZE (301054)以 32 位值为单位指定的上下文大小。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 187 行, 第 9 列)
FFX_CACAO_CONTEXT_COUNT
#define FFX_CACAO_CONTEXT_COUNT 1FidelityFX CACAO 的上下文数量。
定义 CACAO 所需的内部效果上下文的数量。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 194 行, 第 9 列)
函数
ffxCacaoContextCreate
FFX_API FfxErrorCode ffxCacaoContextCreate(FfxCacaoContext *context, const FfxCacaoContextDescription *contextDescription)根据 FfxCacaoContextDescription 结构中设置的参数,创建一个 FidelityFX CACAO 上下文。
上下文结构是与 CACAO API 交互的主要对象,负责管理 CACAO 算法使用的内部资源。调用此 API 时,将通过 backendInterface 结构中的指针进行多次调用。此后端将尝试检索设备功能,并创建 CACAO 正常运行所需的内部资源和管线。根据创建 FfxCacaoContext 时使用的具体配置,可能会通过回调函数请求不同的资源和管线集合。
FfxCacaoContext 应在使用完成后销毁,通常在应用程序卸载或用户禁用 CACAO 缩放时。要销毁 CACAO 上下文,应调用 ffxCacaoContextDestroy。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
上下文 | FfxCacaoContext * | “ |
上下文描述 | const FfxCacaoContextDescription * | “ |
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 486 行, 第 22 列)
ffxCacaoContextDispatch
FFX_API FfxErrorCode ffxCacaoContextDispatch(FfxCacaoContext *context, const FfxCacaoDispatchDescription *dispatchDescription)将工作分派到 FidelityFX CACAO 上下文。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
上下文 | FfxCacaoContext * | “ |
分派描述 | const FfxCacaoDispatchDescription * | “ |
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 501 行, 第 22 列)
ffxCacaoContextDestroy
FFX_API FfxErrorCode ffxCacaoContextDestroy(FfxCacaoContext *context)销毁 FidelityFX CACAO 上下文。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
上下文 | FfxCacaoContext * | “ |
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 513 行, 第 22 列)
ffxCacaoUpdateSettings
FFX_API FfxErrorCode ffxCacaoUpdateSettings(FfxCacaoContext *context, const FfxCacaoSettings *settings, const bool useDownsampledSsao)更新 CACAO 使用的设置。
参数
context(FfxCacaoContext *) – [输入] 指向要更改设置的 FfxCacaoContext 结构的指针。settings(const FfxCacaoSettings *) – [输入] 指向 FfxCacaoSettings 结构的指针。useDownsampledSsao(const bool)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 525 行, 第 22 列)
ffxCacaoGetEffectVersion
FFX_API FfxVersionNumber ffxCacaoGetEffectVersion()查询效果版本号。
返回: 构建该效果的 SDK 版本。
返回: FFX_API FfxVersionNumber
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 533 行, 第 26 列)
变量
const FfxCacaoSettings FFX_CACAO_DEFAULT_SETTINGS
static const FfxCacaoSettings FFX_CACAO_DEFAULT_SETTINGS = = { 1.2f, 1.0f, 1.50f, 0.98f, 0.06f, 50.0f, 300.0f, FFX_CACAO_QUALITY_HIGHEST, 0.45f, 2, 0.98f, 0.0f, 0.0f, 0.5f, false, 5.0f, 0.01f,}FidelityFX CACAO 生成 SSAO 时使用的默认设置。
属性: static
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 287 行, 第 31 列)
枚举
FfxCacaoPass
enum FfxCacaoPass构成 CACAO 算法的传递的枚举。
值
FFX_CACAO_PASS_CLEAR_LOAD_COUNTER
FFX_CACAO_PASS_CLEAR_LOAD_COUNTER = 0FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS
FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS = 1FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS
FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS = 2FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_AND_MIPS
FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_AND_MIPS = 3FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_AND_MIPS
FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_AND_MIPS = 4FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS
FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS = 5FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS
FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS = 6FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS_FROM_INPUT_NORMALS
FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS_FROM_INPUT_NORMALS = 7FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS_FROM_INPUT_NORMALS
FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS_FROM_INPUT_NORMALS = 8FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_HALF
FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_HALF = 9FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_HALF
FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_HALF = 10FFX_CACAO_PASS_GENERATE_Q0
FFX_CACAO_PASS_GENERATE_Q0 = 11FFX_CACAO_PASS_GENERATE_Q1
FFX_CACAO_PASS_GENERATE_Q1 = 12FFX_CACAO_PASS_GENERATE_Q2
FFX_CACAO_PASS_GENERATE_Q2 = 13FFX_CACAO_PASS_GENERATE_Q3
FFX_CACAO_PASS_GENERATE_Q3 = 14FFX_CACAO_PASS_GENERATE_Q3_BASE
FFX_CACAO_PASS_GENERATE_Q3_BASE = 15FFX_CACAO_PASS_GENERATE_IMPORTANCE_MAP
FFX_CACAO_PASS_GENERATE_IMPORTANCE_MAP = 16FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_A
FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_A = 17FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_B
FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_B = 18FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_1
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_1 = 19FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_2
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_2 = 20FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_3
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_3 = 21FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_4
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_4 = 22FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_5
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_5 = 23FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_6
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_6 = 24FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_7
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_7 = 25FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_8
FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_8 = 26FFX_CACAO_PASS_APPLY_NON_SMART_HALF
FFX_CACAO_PASS_APPLY_NON_SMART_HALF = 27FFX_CACAO_PASS_APPLY_NON_SMART
FFX_CACAO_PASS_APPLY_NON_SMART = 28FFX_CACAO_PASS_APPLY
FFX_CACAO_PASS_APPLY = 29FFX_CACAO_PASS_UPSCALE_BILATERAL_5X5
FFX_CACAO_PASS_UPSCALE_BILATERAL_5X5 = 30FFX_CACAO_PASS_COUNT
CACAO 中的传递数量。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 199 行, 第 1 列)
FfxCacaoQuality
enum FfxCacaoQualityFidelityFX CACAO 可以生成的 SSAO 的质量级别。这会影响生成 SSAO 所需的采样数量。
值
FFX_CACAO_QUALITY_LOWEST
FFX_CACAO_QUALITY_LOWEST = 0FFX_CACAO_QUALITY_LOW
FFX_CACAO_QUALITY_LOW = 1FFX_CACAO_QUALITY_MEDIUM
FFX_CACAO_QUALITY_MEDIUM = 2FFX_CACAO_QUALITY_HIGH
FFX_CACAO_QUALITY_HIGH = 3FFX_CACAO_QUALITY_HIGHEST
FFX_CACAO_QUALITY_HIGHEST = 4来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 245 行, 第 1 列)
FfxCacaoInitializationFlagBits
enum FfxCacaoInitializationFlagBits创建 FfxCacaoContext 时使用的位标志枚举。请参阅 FfxCacaoContextDescription。
值
FFX_CACAO_ENABLE_APPLY_SMART
FFX_CACAO_ENABLE_APPLY_SMART = (1<<0)指示使用智能应用的一个位。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 257 行, 第 1 列)
FfxCacaoDispatchFlagsBits
enum FfxCacaoDispatchFlagsBits分派 FidelityFX CACAO 时使用的位标志枚举。
值
FFX_CACAO_SRV_SSAO_REMAP_TO_PONG
FFX_CACAO_SRV_SSAO_REMAP_TO_PONG = (1<<0)指示 SRV 映射到 pong 纹理的一个位。
FFX_CACAO_UAV_SSAO_REMAP_TO_PONG
FFX_CACAO_UAV_SSAO_REMAP_TO_PONG = (1<<1)指示 UAV 映射到 pong 纹理的一个位。
来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 432 行, 第 1 列)
依赖项
此模块依赖于