跳至内容

FidelityFX CACAO

导航: SDK效果组件

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 8

PREPARE_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 8

PREPARE_DEPTHS_AND_MIPS 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 59 行, 第 9 列)

FFX_CACAO_PREPARE_DEPTHS_WIDTH

#define FFX_CACAO_PREPARE_DEPTHS_WIDTH 8

PREPARE_DEPTHS 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 64 行, 第 9 列)

FFX_CACAO_PREPARE_DEPTHS_HEIGHT

#define FFX_CACAO_PREPARE_DEPTHS_HEIGHT 8

PREPARE_DEPTHS 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 68 行, 第 9 列)

FFX_CACAO_PREPARE_DEPTHS_HALF_WIDTH

#define FFX_CACAO_PREPARE_DEPTHS_HALF_WIDTH 8

PREPARE_DEPTHS_HALF 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 73 行, 第 9 列)

FFX_CACAO_PREPARE_DEPTHS_HALF_HEIGHT

#define FFX_CACAO_PREPARE_DEPTHS_HALF_HEIGHT 8

PREPARE_DEPTHS_HALF 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 77 行, 第 9 列)

FFX_CACAO_PREPARE_NORMALS_WIDTH

#define FFX_CACAO_PREPARE_NORMALS_WIDTH 8

PREPARE_NORMALS 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 82 行, 第 9 列)

FFX_CACAO_PREPARE_NORMALS_HEIGHT

#define FFX_CACAO_PREPARE_NORMALS_HEIGHT 8

PREPARE_NORMALS 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 86 行, 第 9 列)

PREPARE_NORMALS_FROM_INPUT_NORMALS_WIDTH

#define PREPARE_NORMALS_FROM_INPUT_NORMALS_WIDTH 8

PREPARE_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 8

PREPARE_NORMALS_FROM_INPUT_NORMALS 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 95 行, 第 9 列)

FFX_CACAO_GENERATE_SPARSE_WIDTH

#define FFX_CACAO_GENERATE_SPARSE_WIDTH 4

GENERATE_SPARSE 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 103 行, 第 9 列)

FFX_CACAO_GENERATE_SPARSE_HEIGHT

#define FFX_CACAO_GENERATE_SPARSE_HEIGHT 16

GENERATE_SPARSE 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 107 行, 第 9 列)

FFX_CACAO_GENERATE_WIDTH

#define FFX_CACAO_GENERATE_WIDTH 8

GENERATE 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 112 行, 第 9 列)

FFX_CACAO_GENERATE_HEIGHT

#define FFX_CACAO_GENERATE_HEIGHT 8

GENERATE 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 116 行, 第 9 列)

IMPORTANCE_MAP_WIDTH

#define IMPORTANCE_MAP_WIDTH 8

IMPORTANCE_MAP 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 124 行, 第 9 列)

IMPORTANCE_MAP_HEIGHT

#define IMPORTANCE_MAP_HEIGHT 8

IMPORTANCE_MAP 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 128 行, 第 9 列)

IMPORTANCE_MAP_A_WIDTH

#define IMPORTANCE_MAP_A_WIDTH 8

IMPORTANCE_MAP_A 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 133 行, 第 9 列)

IMPORTANCE_MAP_A_HEIGHT

#define IMPORTANCE_MAP_A_HEIGHT 8

IMPORTANCE_MAP_A 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 137 行, 第 9 列)

IMPORTANCE_MAP_B_WIDTH

#define IMPORTANCE_MAP_B_WIDTH 8

IMPORTANCE_MAP_B 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 142 行, 第 9 列)

IMPORTANCE_MAP_B_HEIGHT

#define IMPORTANCE_MAP_B_HEIGHT 8

IMPORTANCE_MAP_B 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 146 行, 第 9 列)

FFX_CACAO_BLUR_WIDTH

#define FFX_CACAO_BLUR_WIDTH 16

BLUR 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 154 行, 第 9 列)

FFX_CACAO_BLUR_HEIGHT

#define FFX_CACAO_BLUR_HEIGHT 16

BLUR 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 158 行, 第 9 列)

FFX_CACAO_APPLY_WIDTH

#define FFX_CACAO_APPLY_WIDTH 8

APPLY 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 166 行, 第 9 列)

FFX_CACAO_APPLY_HEIGHT

#define FFX_CACAO_APPLY_HEIGHT 8

APPLY 传递的瓦片尺寸的高度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 170 行, 第 9 列)

FFX_CACAO_BILATERAL_UPSCALE_WIDTH

#define FFX_CACAO_BILATERAL_UPSCALE_WIDTH 8

BILATERAL_UPSCALE 传递的瓦片尺寸的宽度。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 178 行, 第 9 列)

FFX_CACAO_BILATERAL_UPSCALE_HEIGHT

#define FFX_CACAO_BILATERAL_UPSCALE_HEIGHT 8

BILATERAL_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 1

FidelityFX 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 = 0

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS = 1

FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS

FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS = 2

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_AND_MIPS

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_AND_MIPS = 3

FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_AND_MIPS

FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_AND_MIPS = 4

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS = 5

FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS

FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS = 6

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS_FROM_INPUT_NORMALS

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_NORMALS_FROM_INPUT_NORMALS = 7

FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS_FROM_INPUT_NORMALS

FFX_CACAO_PASS_PREPARE_NATIVE_NORMALS_FROM_INPUT_NORMALS = 8

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_HALF

FFX_CACAO_PASS_PREPARE_DOWNSAMPLED_DEPTHS_HALF = 9

FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_HALF

FFX_CACAO_PASS_PREPARE_NATIVE_DEPTHS_HALF = 10

FFX_CACAO_PASS_GENERATE_Q0

FFX_CACAO_PASS_GENERATE_Q0 = 11

FFX_CACAO_PASS_GENERATE_Q1

FFX_CACAO_PASS_GENERATE_Q1 = 12

FFX_CACAO_PASS_GENERATE_Q2

FFX_CACAO_PASS_GENERATE_Q2 = 13

FFX_CACAO_PASS_GENERATE_Q3

FFX_CACAO_PASS_GENERATE_Q3 = 14

FFX_CACAO_PASS_GENERATE_Q3_BASE

FFX_CACAO_PASS_GENERATE_Q3_BASE = 15

FFX_CACAO_PASS_GENERATE_IMPORTANCE_MAP

FFX_CACAO_PASS_GENERATE_IMPORTANCE_MAP = 16

FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_A

FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_A = 17

FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_B

FFX_CACAO_PASS_POST_PROCESS_IMPORTANCE_MAP_B = 18

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_1

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_1 = 19

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_2

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_2 = 20

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_3

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_3 = 21

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_4

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_4 = 22

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_5

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_5 = 23

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_6

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_6 = 24

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_7

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_7 = 25

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_8

FFX_CACAO_PASS_EDGE_SENSITIVE_BLUR_8 = 26

FFX_CACAO_PASS_APPLY_NON_SMART_HALF

FFX_CACAO_PASS_APPLY_NON_SMART_HALF = 27

FFX_CACAO_PASS_APPLY_NON_SMART

FFX_CACAO_PASS_APPLY_NON_SMART = 28

FFX_CACAO_PASS_APPLY

FFX_CACAO_PASS_APPLY = 29

FFX_CACAO_PASS_UPSCALE_BILATERAL_5X5

FFX_CACAO_PASS_UPSCALE_BILATERAL_5X5 = 30

FFX_CACAO_PASS_COUNT

CACAO 中的传递数量。

来源: sdk/include/FidelityFX/host/ffx_cacao.h (第 199 行, 第 1 列)

FfxCacaoQuality

enum FfxCacaoQuality

FidelityFX CACAO 可以生成的 SSAO 的质量级别。这会影响生成 SSAO 所需的采样数量。

FFX_CACAO_QUALITY_LOWEST

FFX_CACAO_QUALITY_LOWEST = 0

FFX_CACAO_QUALITY_LOW

FFX_CACAO_QUALITY_LOW = 1

FFX_CACAO_QUALITY_MEDIUM

FFX_CACAO_QUALITY_MEDIUM = 2

FFX_CACAO_QUALITY_HIGH

FFX_CACAO_QUALITY_HIGH = 3

FFX_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 列)

依赖项

此模块依赖于

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