FidelityFX Brixelizer
FidelityFX Brixelizer
FidelityFX Brixelizer 运行时库。
Defines
FFX_BRIXELIZER_CONTEXT_SIZE
#define FFX_BRIXELIZER_CONTEXT_SIZE (5938838)以 32 位值为单位指定的上下文大小。
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 30 行, 第 9 列)
FFX_BRIXELIZER_UPDATE_DESCRIPTION_SIZE
#define FFX_BRIXELIZER_UPDATE_DESCRIPTION_SIZE 2099376更新描述中指定的 32 位值的大小。
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 35 行, 第 9 列)
FFX_BRIXELIZER_VERSION_MAJOR
#define FFX_BRIXELIZER_VERSION_MAJOR (1)FidelityFX Brixelizer 主版本。
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 38 行, 第 9 列)
FFX_BRIXELIZER_VERSION_MINOR
#define FFX_BRIXELIZER_VERSION_MINOR (0)FidelityFX Brixelizer 次版本。
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 43 行, 第 9 列)
FFX_BRIXELIZER_VERSION_PATCH
#define FFX_BRIXELIZER_VERSION_PATCH (0)FidelityFX Brixelizer 补丁版本。
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 48 行, 第 9 列)
FFX_BRIXELIZER_CONTEXT_COUNT
#define FFX_BRIXELIZER_CONTEXT_COUNT 1FidelityFX Brixelizer 上下文数量。
定义 Brixelizer 所需的内部效果上下文的数量
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 55 行, 第 9 列)
FFX_BRIXELIZER_RAW_CONTEXT_SIZE
#define FFX_BRIXELIZER_RAW_CONTEXT_SIZE (2924058)原始上下文的大小,以 32 位值指定。
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 60 行, 第 9 列)
函数
ffxBrixelizerGetContextSize
inline size_t ffxBrixelizerGetContextSize()获取 FfxBrixelizerContext 结构所需的字节大小。请注意,此函数是为了保持一致性而提供的,FfxBrixelizerContext 的大小是一个已知的编译时值,可以使用 sizeof(FfxBrixelizerContext) 获取。
返回: FfxBrixelizerContext 结构的字节大小。
返回: size_t
属性: inline
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 199 行, 第 15 列)
ffxBrixelizerContextCreate
FFX_API FfxErrorCode ffxBrixelizerContextCreate(const FfxBrixelizerContextDescription *desc, FfxBrixelizerContext *outContext)根据 FfxBrixelizerContextDesc 结构中指定的参数创建一个 FidelityFX Brixelizer 上下文。
上下文结构是与 Brixelizer API 交互的主要对象,负责管理 Brixelizer 算法使用的内部资源。调用此 API 时,将通过 backendInterface 结构中的指针进行多次调用。此后端将尝试检索设备功能,并创建 Brixelizer 所需的内部资源和管道。
根据 contextDescription 中传递的参数,回调函数可能会请求不同的资源和管道集。
FfxBrixelizerContext 在使用完成后应被销毁。要销毁上下文,应调用 ffxBrixelizerContextDestroy。
desc
一个 FfxBrixelizerContextDescription 结构,包含上下文创建的参数。
outContext
一个 FfxBrixelizerContext 结构,用于接收初始化的 Brixelizer 上下文。
FFX_OK
操作成功完成。
参数
desc(const FfxBrixelizerContextDescription *) – [输入] 一个 FfxBrixelizerContextDescription 结构,包含上下文创建的参数。outContext(FfxBrixelizerContext *) – [输出] 一个 FfxBrixelizerContext 结构,用于接收初始化的 Brixelizer 上下文。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 227 行, 第 22 列)
ffxBrixelizerContextDestroy
FFX_API FfxErrorCode ffxBrixelizerContextDestroy(FfxBrixelizerContext *context)销毁与 FfxBrixelizerContext 结构关联的 Brixelizer 上下文。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 237 行, 第 22 列)
ffxBrixelizerGetContextInfo
FFX_API FfxErrorCode ffxBrixelizerGetContextInfo(FfxBrixelizerContext *context, FfxBrixelizerContextInfo *contextInfo)填充一个 FfxBrixelizerContextInfo 结构,该结构用于更新常量缓冲区,供 Brixelizer 在进行光线追踪时使用。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。contextInfo(FfxBrixelizerContextInfo *) – [输出] 一个 FfxBrixelizerContextInfo 结构,将在此填充。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 249 行, 第 22 列)
ffxBrixelizerBakeUpdate
FFX_API FfxErrorCode ffxBrixelizerBakeUpdate(FfxBrixelizerContext *context, const FfxBrixelizerUpdateDescription *desc, FfxBrixelizerBakedUpdateDescription *outDesc)从 FfxBrixelizerUpdateDescription 结构构建一个 FfxBrixelizerBakedUpdateDescription 结构,用于执行 Brixelizer 更新。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。desc(const FfxBrixelizerUpdateDescription *) – [输入] 一个 FfxBrixelizerUpdateDescription 结构,包含更新的参数。outDesc(FfxBrixelizerBakedUpdateDescription *) – [输出] 一个 FfxBrixelizerBakedUpdateDescription 结构,将在此填充。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 262 行, 第 22 列)
ffxBrixelizerUpdate
FFX_API FfxErrorCode ffxBrixelizerUpdate(FfxBrixelizerContext *context, FfxBrixelizerBakedUpdateDescription *desc, FfxResource scratchBuffer, FfxCommandList commandList)执行 Brixelizer 更新,将 GPU 命令记录到命令列表中。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。desc(FfxBrixelizerBakedUpdateDescription *) – [输入] 一个 FfxBrixelizerBakedUpdateDescription 结构,描述要计算的更新。scratchBuffer(FfxResource) – [输出] 一个 FfxResource,将用作更新的暂存空间。commandList(FfxCommandList) – [输出] 一个 FfxCommandList,将 GPU 命令写入其中。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 275 行, 第 22 列)
ffxBrixelizerRegisterBuffers
FFX_API FfxErrorCode ffxBrixelizerRegisterBuffers(FfxBrixelizerContext *context, const FfxBrixelizerBufferDescription *bufferDescs, uint32_t numBufferDescs)注册一个要与 Brixelizer 一起使用的顶点或索引缓冲区。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。bufferDescs(const FfxBrixelizerBufferDescription *)numBufferDescs(uint32_t)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 287 行, 第 22 列)
ffxBrixelizerUnregisterBuffers
FFX_API FfxErrorCode ffxBrixelizerUnregisterBuffers(FfxBrixelizerContext *context, const uint32_t *indices, uint32_t numIndices)注销一个先前注册的顶点或索引缓冲区。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。indices(const uint32_t *)numIndices(uint32_t)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 298 行, 第 22 列)
ffxBrixelizerCreateInstances
FFX_API FfxErrorCode ffxBrixelizerCreateInstances(FfxBrixelizerContext *context, const FfxBrixelizerInstanceDescription *descs, uint32_t numDescs)为 Brixelizer 上下文创建一个静态实例。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。descs(const FfxBrixelizerInstanceDescription *) – [输入] 一个 FfxBrixelizerInstanceDescription 结构数组,包含实例创建的参数。numDescs(uint32_t) – [输入] descs 数组中的条目数。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 310 行, 第 22 列)
ffxBrixelizerDeleteInstances
FFX_API FfxErrorCode ffxBrixelizerDeleteInstances(FfxBrixelizerContext *context, const FfxBrixelizerInstanceID *instanceIDs, uint32_t numInstanceIDs)从 Brixelizer 上下文中删除一个静态实例。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。instanceIDs(const FfxBrixelizerInstanceID *) – [输入] 一个 FfxBrixelizerInstanceIDs 数组,对应要销毁的实例。numInstanceIDs(uint32_t)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 322 行, 第 22 列)
ffxBrixelizerGetRawContext
FFX_API FfxErrorCode ffxBrixelizerGetRawContext(FfxBrixelizerContext *context, FfxBrixelizerRawContext **outContext)从 Brixelizer 上下文中获取底层 Brixelizer 原始上下文的指针。
返回: FFX_ERROR_INVALID_POINTER 提供的指针无效。
返回: FFX_OK 操作成功完成。
参数
context(FfxBrixelizerContext *) – [输入/输出] 一个包含 Brixelizer 上下文的 FfxBrixelizerContext 结构。outContext(FfxBrixelizerRawContext **) – [输出] 一个 FfxBrixelizerRawContext,代表底层的 Brixelizer 原始上下文。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 335 行, 第 22 列)
ffxBrixelizerRawGetContextSize
inline size_t ffxBrixelizerRawGetContextSize()获取 FfxBrixelizerRawContext 结构所需的字节大小。请注意,此函数是为了保持一致性而提供的,FfxBrixelizerRawContext 的大小是一个已知的编译时值,可以使用 sizeof(FfxBrixelizerRawContext) 获取。
返回: FfxBrixelizerRawContext 结构的字节大小。
返回: size_t
属性: inline
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 306 行, 第 15 列)
ffxBrixelizerRawContextCreate
FFX_API FfxErrorCode ffxBrixelizerRawContextCreate(FfxBrixelizerRawContext *context, const FfxBrixelizerRawContextDescription *contextDescription)根据 FfxBrixelizerRawContextDescription 结构中指定的参数创建一个 FidelityFX Brixelizer 上下文。
上下文结构是与 Brixelizer API 交互的主要对象,负责管理 Brixelizer 算法使用的内部资源。调用此 API 时,将通过 backendInterface 结构中的指针进行多次调用。此后端将尝试检索设备功能,并创建 Brixelizer 所需的内部资源和管道。
根据 contextDescription 中传递的参数,回调函数可能会请求不同的资源和管道集。
FfxBrixelizerRawContext 在使用完成后应被销毁。要销毁上下文,应调用 ffxBrixelizerContextDestroy。
上下文
一个 FfxBrixelizerRawContext 指针,用于填充。
contextDescription
一个 FfxBrixelizerRawContextDescription 指针,指定上下文创建的参数。
FFX_OK
操作成功完成。
FFX_ERROR_INVALID_POINTER
操作失败,因为 context 或 contextDescription 为 NULL。
FFX_ERROR_INCOMPLETE_INTERFACE
操作失败,因为 contextDescription->backendInterface 未完全指定。
FFX_ERROR_BACKEND_API_ERROR
操作失败,因为后端返回了错误。
参数
context(FfxBrixelizerRawContext *) – [输出] 一个 FfxBrixelizerRawContext 指针,用于填充。contextDescription(const FfxBrixelizerRawContextDescription *) – [输入] 一个 FfxBrixelizerRawContextDescription 指针,指定上下文创建的参数。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 340 行, 第 22 列)
ffxBrixelizerRawContextDestroy
FFX_API FfxErrorCode ffxBrixelizerRawContextDestroy(FfxBrixelizerRawContext *context)销毁 FidelityFX Brixelizer 上下文。
参数
context(FfxBrixelizerRawContext *) – [输出] 一个 FfxBrixelizerRawContext 结构指针,用于销毁。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 352 行, 第 22 列)
ffxBrixelizerRawContextGetInfo
FFX_API FfxErrorCode ffxBrixelizerRawContextGetInfo(FfxBrixelizerRawContext *context, FfxBrixelizerContextInfo *contextInfo)获取一个 FfxBrixelizerContextInfo 结构,其中包含上下文的详细信息。此调用旨在用于填充光线查询所需的常量缓冲区。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,用于接收 FfxBrixelizerContextInfo。contextInfo(FfxBrixelizerContextInfo *) – [输出] 一个 FfxBrixelizerContextInfo 结构,将在此填充。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 367 行, 第 22 列)
ffxBrixelizerRawContextCreateCascade
FFX_API FfxErrorCode ffxBrixelizerRawContextCreateCascade(FfxBrixelizerRawContext *context, const FfxBrixelizerRawCascadeDescription *cascadeDescription)为 Brixelizer 创建一个级联(cascade)。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将为其创建级联。cascadeDescription(const FfxBrixelizerRawCascadeDescription *) – [输入] 一个 FfxBrixelizerRawCascadeDescription 结构,指定级联创建的参数。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 382 行, 第 22 列)
ffxBrixelizerRawContextDestroyCascade
FFX_API FfxErrorCode ffxBrixelizerRawContextDestroyCascade(FfxBrixelizerRawContext *context, uint32_t cascadeIndex)销毁先前使用 ffxBrixelizerContextCreateCascade 创建的级联。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将从中删除级联。cascadeIndex(uint32_t) – [输入] 要删除的级联的索引。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 395 行, 第 22 列)
ffxBrixelizerRawContextResetCascade
FFX_API FfxErrorCode ffxBrixelizerRawContextResetCascade(FfxBrixelizerRawContext *context, uint32_t cascadeIndex)重置先前使用 ffxBrixelizerContextCreateCascade 创建的级联。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将为其重置级联。cascadeIndex(uint32_t) – [输入] 要重置的级联的索引。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 410 行, 第 22 列)
ffxBrixelizerRawContextBegin
FFX_API FfxErrorCode ffxBrixelizerRawContextBegin(FfxBrixelizerRawContext *context, FfxBrixelizerResources resources)开始为 Brixelizer 更新 SDF 加速结构构建 GPU 命令。必须在调用 ffxBrixelizerContextBegin 和 ffxBrixelizerContextEnd 之间进行调用。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将为其开始帧。resources(FfxBrixelizerResources)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 425 行, 第 22 列)
ffxBrixelizerRawContextEnd
FFX_API FfxErrorCode ffxBrixelizerRawContextEnd(FfxBrixelizerRawContext *context)结束为 Brixelizer 更新 SDF 加速结构而构建 GPU 命令。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将为其结束帧。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 439 行, 第 22 列)
ffxBrixelizerRawContextSubmit
FFX_API FfxErrorCode ffxBrixelizerRawContextSubmit(FfxBrixelizerRawContext *context, FfxCommandList cmdList)将 GPU 命令记录到 FfxCommandList 中,用于使用 Brixelizer 更新加速结构。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将从中记录 GPU 命令。cmdList(FfxCommandList) – [输出] FfxCommandList,将命令记录到其中。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 454 行, 第 22 列)
ffxBrixelizerRawContextGetScratchMemorySize
FFX_API FfxErrorCode ffxBrixelizerRawContextGetScratchMemorySize(FfxBrixelizerRawContext *context, const FfxBrixelizerRawCascadeUpdateDescription *cascadeUpdateDescription, size_t *size)获取 FfxResource 所需的字节大小,用作级联更新中的暂存缓冲区。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将为其计算所需的暂存缓冲区大小。cascadeUpdateDescription(const FfxBrixelizerRawCascadeUpdateDescription *) – [输入] 一个 FfxBrixelizerRawCascadeUpdateDescription 结构,包含级联更新的参数。size(size_t *) – [输出] 一个 size_t,将存储所需的暂存缓冲区大小。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 470 行, 第 22 列)
ffxBrixelizerRawContextUpdateCascade
FFX_API FfxErrorCode ffxBrixelizerRawContextUpdateCascade(FfxBrixelizerRawContext *context, const FfxBrixelizerRawCascadeUpdateDescription *cascadeUpdateDescription)更新 Brixelizer 上下文中的一个级联。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将在其上执行级联更新。cascadeUpdateDescription(const FfxBrixelizerRawCascadeUpdateDescription *) – [输入] 一个 FfxBrixelizerRawCascadeUpdateDescription 结构,包含级联更新的参数。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 485 行, 第 22 列)
ffxBrixelizerRawContextMergeCascades
FFX_API FfxErrorCode ffxBrixelizerRawContextMergeCascades(FfxBrixelizerRawContext *context, uint32_t src_cascade_A_idx, uint32_t src_cascade_B_idx, uint32_t dst_cascade_idx)合并 Brixelizer 上下文中的两个级联。必须在调用 ffxBrixelizerRawContextBegin 和 ffxBrixelizerRawContextEnd 之间进行调用。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将用于合并级联。src_cascade_A_idx(uint32_t)src_cascade_B_idx(uint32_t)dst_cascade_idx(uint32_t)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 503 行, 第 22 列)
ffxBrixelizerRawContextBuildAABBTree
FFX_API FfxErrorCode ffxBrixelizerRawContextBuildAABBTree(FfxBrixelizerRawContext *context, uint32_t cascadeIndex)为 Brixelizer 上下文中的级联构建 AABB 树。必须在调用 ffxBrixelizerRawContextBegin 和 ffxBrixelizerRawContextEnd 之间进行调用。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将为其构建 AABB 树。cascadeIndex(uint32_t) – [输入] 要构建 AABB 树的级联的索引。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 519 行, 第 22 列)
ffxBrixelizerRawContextDebugVisualization
FFX_API FfxErrorCode ffxBrixelizerRawContextDebugVisualization(FfxBrixelizerRawContext *context, const FfxBrixelizerDebugVisualizationDescription *debugVisualizationDescription)为 Brixelizer 上下文创建调试可视化输出。必须在调用 ffxBrixelizerRawContextBegin 和 ffxBrixelizerRawContextEnd 之间进行调用。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,将为其创建调试可视化。debugVisualizationDescription(const FfxBrixelizerDebugVisualizationDescription *) – [输入] 一个 FfxBrixelizerDebugVisualizationDescription,提供调试可视化的参数。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 535 行, 第 22 列)
ffxBrixelizerRawContextGetDebugCounters
FFX_API FfxErrorCode ffxBrixelizerRawContextGetDebugCounters(FfxBrixelizerRawContext *context, FfxBrixelizerDebugCounters *debugCounters)从 Brixelizer 上下文中获取调试计数器。注意:要使用此函数,在创建上下文时必须传入 FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CONTEXT_READBACK_BUFFERS 标志。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,用于读取调试计数器。debugCounters(FfxBrixelizerDebugCounters *) – [输出] 一个 FfxBrixelizerDebugCounters 结构,用于读取调试计数器。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 550 行, 第 22 列)
ffxBrixelizerRawContextGetCascadeCounters
FFX_API FfxErrorCode ffxBrixelizerRawContextGetCascadeCounters(FfxBrixelizerRawContext *context, uint32_t cascadeIndex, FfxBrixelizerScratchCounters *counters)从 Brixelizer 上下文中获取级联计数器。注意:要使用此函数,在创建上下文时必须传入 FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CASCADE_READBACK_BUFFERS 标志。
参数
context(FfxBrixelizerRawContext *) – [输出] FfxBrixelizerRawContext,用于读取级联计数器。cascadeIndex(uint32_t) – [输入] 要读取级联计数器的级联的索引。counters(FfxBrixelizerScratchCounters *) – [输出] 一个 FfxBrixelizerScratchCounters 结构,用于读取级联计数器。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 566 行,第 22 列)
ffxBrixelizerRawContextCreateInstances
FFX_API FfxErrorCode ffxBrixelizerRawContextCreateInstances(FfxBrixelizerRawContext *context, const FfxBrixelizerRawInstanceDescription *instanceDescriptions, uint32_t numInstanceDescriptions)在 Brixelizer 上下文中创建一个实例。
参数
context(FfxBrixelizerRawContext *) – [输出] 要创建实例的 FfxBrixelizerRawContext。instanceDescriptions(const FfxBrixelizerRawInstanceDescription *)numInstanceDescriptions(uint32_t) – [输出] 要读取实例 ID 的 FfxBrixelizerInstanceID。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 580 行,第 22 列)
ffxBrixelizerRawContextDestroyInstances
FFX_API FfxErrorCode ffxBrixelizerRawContextDestroyInstances(FfxBrixelizerRawContext *context, const FfxBrixelizerInstanceID *instanceIDs, uint32_t numInstanceIDs)销毁 Brixelizer 上下文中的一个实例。
参数
context(FfxBrixelizerRawContext *) – [输出] 要删除实例的 FfxBrixelizerRawContext。instanceIDs(const FfxBrixelizerInstanceID *)numInstanceIDs(uint32_t)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 593 行,第 22 列)
ffxBrixelizerRawContextFlushInstances
FFX_API FfxErrorCode ffxBrixelizerRawContextFlushInstances(FfxBrixelizerRawContext *context, FfxCommandList cmdList)将通过 ffxBrixelizerRawContextCreateInstance 添加到 Brixelizer 上下文的所有实例刷新到 GPU。
参数
context(FfxBrixelizerRawContext *) – [输出] 要刷新实例的 FfxBrixelizerRawContext。cmdList(FfxCommandList) – [输入] 用于记录 GPU 命令的 FfxCommandList。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 606 行,第 22 列)
ffxBrixelizerRawContextRegisterBuffers
FFX_API FfxErrorCode ffxBrixelizerRawContextRegisterBuffers(FfxBrixelizerRawContext *context, const FfxBrixelizerBufferDescription *bufferDescs, uint32_t numBufferDescs)注册一个顶点或索引缓冲区以供 Brixelizer 使用。
参数
context(FfxBrixelizerRawContext *) – [输出] 要为其注册缓冲区的 FfxBrixelizerRawContext。bufferDescs(const FfxBrixelizerBufferDescription *)numBufferDescs(uint32_t)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 620 行,第 22 列)
ffxBrixelizerRawContextUnregisterBuffers
FFX_API FfxErrorCode ffxBrixelizerRawContextUnregisterBuffers(FfxBrixelizerRawContext *context, const uint32_t *indices, uint32_t numIndices)注销一个先前注册的顶点或索引缓冲区。
参数
context(FfxBrixelizerRawContext *) – [输出] 要从中注销缓冲区的 FfxBrixelizerRawContext。indices(const uint32_t *)numIndices(uint32_t)
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 633 行,第 22 列)
ffxBrixelizerRawContextRegisterScratchBuffer
FFX_API FfxErrorCode ffxBrixelizerRawContextRegisterScratchBuffer(FfxBrixelizerRawContext *context, FfxResource scratchBuffer)给定级联的总数和当前帧,获取建议要更新的级联的索引。遵循 0 1 0 2 0 1 0 3 0 等模式。如果 0 是最详细的级联,maxCascades - 1 是最不详细的级联,则此排序会更频繁地更新更详细的级联。
参数
context(FfxBrixelizerRawContext *) – [输出] 要为其设置缓冲区的 FfxBrixelizerRawContext。scratchBuffer(FfxResource) – [输入] 用作暂存缓冲区的 FfxResource。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 648 行,第 22 列)
ffxBrixelizerRawGetCascadeToUpdate
FFX_API uint32_t ffxBrixelizerRawGetCascadeToUpdate(uint32_t frameIndex, uint32_t maxCascades)给定级联的总数和当前帧,获取建议要更新的级联的索引。遵循 0 1 0 2 0 1 0 3 0 等模式。如果 0 是最详细的级联,maxCascades - 1 是最不详细的级联,则此排序会更频繁地更新更详细的级联。
参数
frameIndex(uint32_t) – [输入] 当前帧索引。maxCascades(uint32_t) – [输入] 级联的总数。
返回值: FFX_API uint32_t
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 660 行,第 22 列)
ffxBrixelizerRawResourceIsNull
FFX_API bool ffxBrixelizerRawResourceIsNull(FfxResource resource)检查 FfxResource 是否为 NULL。
参数
resource(FfxResource) – [输入] 要检查是否为 null 的 FfxResource。
返回值: FFX_API bool
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 669 行,第 22 列)
ffxBrixelizerGetEffectVersion
FFX_API FfxVersionNumber ffxBrixelizerGetEffectVersion()查询效果版本号。
返回: 构建该效果的 SDK 版本。
返回: FFX_API FfxVersionNumber
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 677 行,第 26 列)
类型定义
FfxBrixelizerInstanceID
typedef uint32_t FfxBrixelizerInstanceID使用 Brixelizer 创建的实例的 ID 值。
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 117 行,第 18 列)
枚举
FfxBrixelizerCascadeFlag
enum FfxBrixelizerCascadeFlag用于级联创建的标志。可以通过组合这些标志来指定级联具有静态几何、动态几何或两者兼有。
值
FFX_BRIXELIZER_CASCADE_STATIC
FFX_BRIXELIZER_CASCADE_STATIC = (1 <<0)FFX_BRIXELIZER_CASCADE_DYNAMIC
FFX_BRIXELIZER_CASCADE_DYNAMIC = (1 <<1)来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 69 行,第 1 列)
FfxBrixelizerPopulateDebugAABBsFlags
enum FfxBrixelizerPopulateDebugAABBsFlags用于设置在 Brixelizer 的调试可视化中绘制哪些 AABB 的标志。
值
FFX_BRIXELIZER_POPULATE_AABBS_NONE
FFX_BRIXELIZER_POPULATE_AABBS_NONE = 0不绘制 AABB。
FFX_BRIXELIZER_POPULATE_AABBS_STATIC_INSTANCES
FFX_BRIXELIZER_POPULATE_AABBS_STATIC_INSTANCES = 1 <<0为所有静态实例绘制 AABB。
FFX_BRIXELIZER_POPULATE_AABBS_DYNAMIC_INSTANCES
FFX_BRIXELIZER_POPULATE_AABBS_DYNAMIC_INSTANCES = 1 <<1为所有动态实例绘制 AABB。
FFX_BRIXELIZER_POPULATE_AABBS_INSTANCES
FFX_BRIXELIZER_POPULATE_AABBS_INSTANCES = FFX_BRIXELIZER_POPULATE_AABBS_STATIC_INSTANCES | FFX_BRIXELIZER_POPULATE_AABBS_DYNAMIC_INSTANCES为所有实例绘制 AABB。
FFX_BRIXELIZER_POPULATE_AABBS_CASCADE_AABBS
FFX_BRIXELIZER_POPULATE_AABBS_CASCADE_AABBS = 1 <<2为所有级联绘制 AABB。
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 96 行,第 1 列)
FfxBrixelizerInstanceFlags
enum FfxBrixelizerInstanceFlags用于指定实例属性的标志。
值
FFX_BRIXELIZER_INSTANCE_FLAG_NONE
FFX_BRIXELIZER_INSTANCE_FLAG_NONE = 0未设置实例标志。
FFX_BRIXELIZER_INSTANCE_FLAG_DYNAMIC
FFX_BRIXELIZER_INSTANCE_FLAG_DYNAMIC = 1 <<0此标志为应添加到动态级联的任何实例设置。指示该实例将每帧重新提交。
来源: sdk/include/FidelityFX/host/ffx_brixelizer.h (第 162 行,第 1 列)
FfxBrixelizerPass
enum FfxBrixelizerPass构成 Brixelizer 算法的所有通道的枚举。
Brixelizer 实现为几个计算通道的复合,每个通道计算最终结果的关键部分。FfxBrixelizerScheduleGpuJobFunc 回调函数的每次调用都将对应于 FfxBrixelizerPass 中包含的一个通道。有关每个通道的更全面描述,请参阅 Brixelizer 参考文档。
值
FFX_BRIXELIZER_PASS_CONTEXT_CLEAR_COUNTERS
FFX_BRIXELIZER_PASS_CONTEXT_COLLECT_CLEAR_BRICKS
FFX_BRIXELIZER_PASS_CONTEXT_PREPARE_CLEAR_BRICKS
FFX_BRIXELIZER_PASS_CONTEXT_CLEAR_BRICK
FFX_BRIXELIZER_PASS_CONTEXT_COLLECT_DIRTY_BRICKS
FFX_BRIXELIZER_PASS_CONTEXT_PREPARE_EIKONAL_ARGS
FFX_BRIXELIZER_PASS_CONTEXT_EIKONAL
FFX_BRIXELIZER_PASS_CONTEXT_MERGE_CASCADES
FFX_BRIXELIZER_PASS_CONTEXT_PREPARE_MERGE_BRICKS_ARGS
FFX_BRIXELIZER_PASS_CONTEXT_MERGE_BRICKS
FFX_BRIXELIZER_PASS_CASCADE_CLEAR_BUILD_COUNTERS
FFX_BRIXELIZER_PASS_CASCADE_RESET_CASCADE
FFX_BRIXELIZER_PASS_CASCADE_SCROLL_CASCADE
FFX_BRIXELIZER_PASS_CASCADE_CLEAR_REF_COUNTERS
FFX_BRIXELIZER_PASS_CASCADE_CLEAR_JOB_COUNTER
FFX_BRIXELIZER_PASS_CASCADE_INVALIDATE_JOB_AREAS
FFX_BRIXELIZER_PASS_CASCADE_COARSE_CULLING
FFX_BRIXELIZER_PASS_CASCADE_SCAN_JOBS
FFX_BRIXELIZER_PASS_CASCADE_VOXELIZE
FFX_BRIXELIZER_PASS_CASCADE_SCAN_REFERENCES
FFX_BRIXELIZER_PASS_CASCADE_COMPACT_REFERENCES
FFX_BRIXELIZER_PASS_CASCADE_CLEAR_BRICK_STORAGE
FFX_BRIXELIZER_PASS_CASCADE_EMIT_SDF
FFX_BRIXELIZER_PASS_CASCADE_COMPRESS_BRICK
FFX_BRIXELIZER_PASS_CASCADE_INITIALIZE_CASCADE
FFX_BRIXELIZER_PASS_CASCADE_MARK_UNINITIALIZED
FFX_BRIXELIZER_PASS_CASCADE_BUILD_TREE_AABB
FFX_BRIXELIZER_PASS_CASCADE_FREE_CASCADE
FFX_BRIXELIZER_PASS_DEBUG_VISUALIZATION
FFX_BRIXELIZER_PASS_DEBUG_INSTANCE_AABBS
FFX_BRIXELIZER_PASS_DEBUG_AABB_TREE
FFX_BRIXELIZER_PASS_COUNT
Brixelizer 执行的通道数。
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 76 行,第 1 列)
FfxBrixelizerCascadeDebugAABB
enum FfxBrixelizerCascadeDebugAABB用于指定 AABB 调试绘制的标志。
值
FFX_BRIXELIZER_CASCADE_DEBUG_AABB_NONE
FFX_BRIXELIZER_CASCADE_DEBUG_AABB_BOUNDING_BOX
FFX_BRIXELIZER_CASCADE_DEBUG_AABB_AABB_TREE
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 150 行,第 1 列)
FfxBrixelizerContextFlags
enum FfxBrixelizerContextFlags用于 Brixelizer 上下文创建选项的标志。
值
FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CONTEXT_READBACK_BUFFERS
FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CONTEXT_READBACK_BUFFERS = (1 <<0)创建具有已启用上下文读回缓冲区的上下文。使用 ffxBrixelizerContextGetDebugCounters 所需。
FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CASCADE_READBACK_BUFFERS
FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CASCADE_READBACK_BUFFERS = (1 <<1)创建具有已启用级联读回缓冲区的上下文。使用 ffxBrixelizerContextGetCascadeCounters 所需。
FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_AABBS
FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_AABBS = (1 <<2)创建具有已启用调试 AABB 的上下文。
FFX_BRIXELIZER_CONTEXT_FLAG_ALL_DEBUG
FFX_BRIXELIZER_CONTEXT_FLAG_ALL_DEBUG = FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CONTEXT_READBACK_BUFFERS | FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_CASCADE_READBACK_BUFFERS | FFX_BRIXELIZER_CONTEXT_FLAG_DEBUG_AABBS创建具有已启用所有调试功能的上下文。
来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 182 行,第 1 列)
FfxBrixelizerRawJobFlags
enum FfxBrixelizerRawJobFlags用于创建 Brixelizer 作业的标志。确定作业是几何提交还是无效化 AABB 描述的区域。
值
FFX_BRIXELIZER_RAW_JOB_FLAG_NONE
FFX_BRIXELIZER_RAW_JOB_FLAG_NONE = 0uFFX_BRIXELIZER_RAW_JOB_FLAG_INVALIDATE
FFX_BRIXELIZER_RAW_JOB_FLAG_INVALIDATE = 1u <<2u来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 194 行,第 1 列)
FfxBrixelizerRawInstanceFlags
enum FfxBrixelizerRawInstanceFlags用于创建 Brixelizer 实例的标志。
值
FFX_BRIXELIZER_RAW_INSTANCE_FLAG_NONE
FFX_BRIXELIZER_RAW_INSTANCE_FLAG_NONE = 0uFFX_BRIXELIZER_RAW_INSTANCE_FLAG_USE_INDEXLESS_QUAD_LIST
FFX_BRIXELIZER_RAW_INSTANCE_FLAG_USE_INDEXLESS_QUAD_LIST = 1u <<1u来源: sdk/include/FidelityFX/host/ffx_brixelizer_raw.h (第 202 行,第 1 列)
依赖项
此模块依赖于
- FfxBrixelizerBakedUpdateDescription
- FfxBrixelizerBufferDescription
- FfxBrixelizerContext
- FfxBrixelizerContextDescription
- FfxBrixelizerContextInfo
- FfxBrixelizerDebugCounters
- FfxBrixelizerDebugVisualizationDescription
- FfxBrixelizerInstanceDescription
- FfxBrixelizerRawCascadeDescription
- FfxBrixelizerRawCascadeUpdateDescription
- FfxBrixelizerRawContext
- FfxBrixelizerRawContextDescription
- FfxBrixelizerRawInstanceDescription
- FfxBrixelizerResources
- FfxBrixelizerScratchCounters
- FfxBrixelizerUpdateDescription
- FfxResource