跳至内容

FidelityFX Brixelizer

导航: SDK效果组件

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 1

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

FFX_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 = 0u

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

依赖项

此模块依赖于

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