- 有什么新内容?
- 技术
- 技术
- FidelityFX 模糊 1.1
- FidelityFX 面包屑 1.0.1
- FidelityFX Brixelizer 1.0
- FidelityFX Brixelizer GI 1.0.1
- FidelityFX Classifier 1.3
- FidelityFX 组合自适应计算环境光遮蔽 (CACAO) 1.4
- FidelityFX 对比度自适应锐化 1.2
- FidelityFX 降噪器 1.3
- FidelityFX 景深 1.1
- FidelityFX 帧插值 1.1.3
- FidelityFX 帧插值交换链 1.1.3
- FidelityFX 镜头 1.1
- FidelityFX 保持亮度映射器 1.4
- FidelityFX 光流 1.1.2
- FidelityFX 并行排序 1.3
- FidelityFX 单通道降采样器 2.2
- FidelityFX 随机屏幕空间反射 1.5
- FidelityFX Super Resolution 3.1.4 (FSR3) - 升采样和帧生成
- FidelityFX Super Resolution 1.2 (FSR1)
- FidelityFX Super Resolution 2.3.3 (FSR2)
- FidelityFX Super Resolution 3.1.4 (FSR3) - 升采样器
- FidelityFX 可变着色 1.2
- 许可证
- 参考文档
- Classes
- AnimatedTexturesRenderModule
- BlurRenderModule
- BreadcrumbsRenderModule
- BrixelizerGIRenderModule
- CACAORenderModule
- CASRenderModule
- CacaoSample
- DoFRenderModule
- FSRRenderModule
- GBufferRenderModule
- GLSLCompiler
- GPUParticleRenderModule
- HLSLCompiler
- HybridReflectionsRenderModule
- HybridShadowsRenderModule
- ICompiler
- LPMRenderModule
- LensRenderModule
- LightingRenderModule
- ParallelSort
- ParallelSortRenderModule
- RasterShadowRenderModule
- SPDRenderModule
- SSSRRenderModule
- SkyDomeRenderModule
- TAARenderModule
- TranslucencyRenderModule
- VRSRenderModule
- Structs
- AnimSampler
- BilinearSamplingData
- BlurRenderModule::ComparisonConstants
- BlurRenderModule::Constants
- BlurRenderModule::MultiPassParameterSets
- BlurRenderModule::ParameterSets
- BrixelizerExampleConstants
- BrixelizerGIRenderModule::BrixelizerBufferInfo
- BrixelizerGIRenderModule::BrixelizerInstanceInfo
- CacaoPreset
- CameraInformation
- ClassifyResults
- DepthExtents
- FFX_CACAO_BilateralBufferVal
- FFX_CACAO_Edges_4
- FFX_CACAO_PrepareNormalsInputDepths
- FFX_CACAO_SSAOHits
- FFX_CACAO_SSAOSampleData
- FFX_DNSR_Reflections_Moments
- FFX_DNSR_Reflections_NeighborhoodSample
- FetchedBicubicSamples
- FetchedBilinearSamples
- FfxAllocationCallbacks
- FfxBarrierDescription
- FfxBlurContext
- FfxBlurContextDescription
- FfxBlurDispatchDescription
- FfxBreadcrumbsBlockData
- FfxBreadcrumbsCommandListDescription
- FfxBreadcrumbsContext
- FfxBreadcrumbsContextDescription
- FfxBreadcrumbsMarkersStatus
- FfxBreadcrumbsNameTag
- FfxBreadcrumbsPipelineStateDescription
- FfxBrixelizerAABB
- FfxBrixelizerBakedUpdateDescription
- FfxBrixelizerBasicMeshInfo
- FfxBrixelizerBrixelizationJob
- FfxBrixelizerBufferDescription
- FfxBrixelizerBuildInfo
- FfxBrixelizerCRItem
- FfxBrixelizerCRItemPacked
- FfxBrixelizerCRVoxelTriangleBounds
- FfxBrixelizerCascadeDescription
- FfxBrixelizerCascadeInfo
- FfxBrixelizerCascadeResources
- FfxBrixelizerCascadeStats
- FfxBrixelizerContext
- FfxBrixelizerContextDescription
- FfxBrixelizerContextInfo
- FfxBrixelizerContextStats
- FfxBrixelizerDebugAABB
- FfxBrixelizerDebugCounters
- FfxBrixelizerDebugInfo
- FfxBrixelizerDebugVisualizationDescription
- FfxBrixelizerGIConstants
- FfxBrixelizerGIContext
- FfxBrixelizerGIContextDescription
- FfxBrixelizerGIDebugDescription
- FfxBrixelizerGIDispatchDescription
- FfxBrixelizerGIPassConstants
- FfxBrixelizerGIProbeSpawnInfo
- FfxBrixelizerGIScalingConstants
- FfxBrixelizerGISpecularNeighborhoodSample
- FfxBrixelizerGITracingConstants
- FfxBrixelizerHit
- FfxBrixelizerHitRaw
- FfxBrixelizerHitWithNormal
- FfxBrixelizerIndexRef
- FfxBrixelizerIndirectOffsets
- FfxBrixelizerInstanceDescription
- FfxBrixelizerInstanceInfo
- FfxBrixelizerInstanceReference
- FfxBrixelizerRawCascadeDescription
- FfxBrixelizerRawCascadeUpdateDescription
- FfxBrixelizerRawContext
- FfxBrixelizerRawContextDescription
- FfxBrixelizerRawInstanceDescription
- FfxBrixelizerRawJobDescription
- FfxBrixelizerRayDesc
- FfxBrixelizerResources
- FfxBrixelizerScratchCounters
- FfxBrixelizerStats
- FfxBrixelizerTriangle
- FfxBrixelizerTrianglePartial
- FfxBrixelizerTrianglePartialCompressed
- FfxBrixelizerTrianglePos
- FfxBrixelizerTriangleReference
- FfxBrixelizerUpdateDescription
- FfxBufferSRV
- FfxBufferUAV
- FfxBxAtlasBounds
- FfxCacaoBufferSizeInfo
- FfxCacaoConstants
- FfxCacaoContext
- FfxCacaoContextDescription
- FfxCacaoDispatchDescription
- FfxCacaoSettings
- FfxCasContext
- FfxCasContextDescription
- FfxCasDispatchDescription
- FfxClassifierContext
- FfxClassifierContextDescription
- FfxClassifierReflectionDispatchDescription
- FfxClassifierShadowDispatchDescription
- FfxClearFloatJobDescription
- FfxComputeJobDescription
- FfxConstantBuffer
- FfxCopyJobDescription
- FfxCreateResourceDescription
- FfxDebugViewport
- FfxDenoiserContext
- FfxDenoiserContextDescription
- FfxDenoiserReflectionsDispatchDescription
- FfxDenoiserShadowsDispatchDescription
- FfxDeviceCapabilities
- FfxDimensions2D
- FfxDiscardJobDescription
- FfxDofAccumulators
- FfxDofBucket
- FfxDofContext
- FfxDofContextDescription
- FfxDofDispatchDescription
- FfxDofInputState
- FfxDofRingParams
- FfxDofSample
- FfxDofTileClass
- FfxEffectBindlessConfig
- FfxEffectMemoryUsage
- FfxExecuteGPUJobParams
- FfxFloatCoords2D
- FfxFrameGenerationConfig
- FfxFrameGenerationDispatchDescription
- FfxFrameInterpolationContext
- FfxFrameInterpolationContextDescription
- FfxFrameInterpolationDebugViewport
- FfxFrameInterpolationDispatchDescription
- FfxFrameInterpolationPrepareDescription
- FfxFrameInterpolationSharedResourceDescriptions
- FfxFsr1Context
- FfxFsr1ContextDescription
- FfxFsr1DispatchDescription
- FfxFsr2Context
- FfxFsr2ContextDescription
- FfxFsr2DispatchDescription
- FfxFsr2GenerateReactiveDescription
- FfxFsr3Context
- FfxFsr3ContextDescription
- FfxFsr3DispatchFrameGenerationPrepareDescription
- FfxFsr3DispatchUpscaleDescription
- FfxFsr3GenerateReactiveDescription
- FfxFsr3UpscalerContext
- FfxFsr3UpscalerContextDescription
- FfxFsr3UpscalerDispatchDescription
- FfxFsr3UpscalerGenerateReactiveDescription
- FfxFsr3UpscalerSharedResourceDescriptions
- FfxGpuJobDescription
- FfxIntCoords2D
- FfxInterface
- FfxInternalResourceDescription
- FfxLensContext
- FfxLensContextDescription
- FfxLensDispatchDescription
- FfxLpmContext
- FfxLpmContextDescription
- FfxLpmDispatchDescription
- FfxOpticalflowContext
- FfxOpticalflowContextDescription
- FfxOpticalflowDispatchDescription
- FfxOpticalflowSharedResourceDescriptions
- FfxParallelSortConstants
- FfxParallelSortContext
- FfxParallelSortContextDescription
- FfxParallelSortDispatchDescription
- FfxPipelineDescription
- FfxPipelineState
- FfxPresentCallbackDescription
- FfxPresentXParams
- FfxRasterJobDescription
- FfxRay
- FfxRect2D
- FfxResource
- FfxResourceBinding
- FfxResourceDescription
- FfxResourceInitData
- FfxResourceInternal
- FfxRootConstantAllocation
- FfxRootConstantDescription
- FfxSamplerDescription
- FfxShaderBlob
- FfxSpdContext
- FfxSpdContextDescription
- FfxSpdDispatchDescription
- FfxSssrContext
- FfxSssrContextDescription
- FfxSssrDispatchDescription
- FfxStaticResourceDescription
- FfxSwapchainFramePacingTuning
- FfxSwapchainReplacementFunctions
- FfxTextureSRV
- FfxTextureUAV
- FfxViewDescription
- FfxVrsContext
- FfxVrsContextDescription
- FfxVrsDispatchDescription
- FrameInfo
- FrameInterpolationReplacementParametersVK
- GBufferRenderModule::BoundTexture
- GBufferRenderModule::PipelineRenderGroup
- GBufferRenderModule::PipelineSurfaceRenderInfo
- GLSLShaderBinary
- GPUParticlePartA
- GPUParticlePartB
- HDRCBData
- HLSLDxcShaderBinary
- HLSLFxcShaderBinary
- HybridReflectionsRenderModule::RTInfoTables
- HybridReflectionsRenderModule::RTInfoTables::BoundTexture
- HybridShadowsRenderModule::DebugTilesConstantBuffer
- HybridShadowsRenderModule::RTConstantBuffer
- IReflectionData
- IShaderBinary
- IndirectCommand
- Instance_Info
- InstanceInformation
- InterpolationSourceColor
- LightInformation
- LumaInstabilityFactorData
- MagnifierCBData
- Material_Info
- MaterialInfo
- MaterialInformation
- MatrixPair
- OptionalTransparencyOptions
- Permutation
- PreviousLumaBilinearSamplesData
- RasterShadowRenderModule::BoundTexture
- RasterShadowRenderModule::PipelineRenderGroup
- RasterShadowRenderModule::PipelineSurfaceRenderInfo
- RasterShadowRenderModule::ShadowMapInfo
- RaySetup
- SPDDownsampleInfo
- SPDRenderModule::PipelineSet
- SPDVerifyConstants
- SampleSet
- SampleStreamState
- SceneInformation
- SceneLightingInformation
- ShaderResourceInfo
- ShadingChangeLumaInfo
- Surface_Info
- SwapchainCBData
- TextureIndices
- Tile
- TranslucencyRenderModule::BoundTexture
- TranslucencyRenderModule::ParticlesRenderData
- TranslucencyRenderModule::PipelineHashObject
- TranslucencyRenderModule::PipelineParticlesRenderInfo
- TranslucencyRenderModule::PipelineSurfaceRenderInfo
- TranslucencyRenderModule::TranslucentRenderData
- UpscalerInformation
- VRSRenderModule::MotionVectorsRenderData
- VRSRenderModule::PipelineHashObject
- VRSRenderModule::PipelineSurfaceRenderInfo
- VS_SURFACE_OUTPUT
- VectorFieldEntry
- VertexStrides
- VkDeviceContext
- VkFrameInterpolationInfoFFX
- VkQueueInfoFFX
- 免责声明
- FidelityFX SDK v2.0 文档 ⧉
FidelityFX Brixelizer GI
此样本演示了 FidelityFX Brixelizer GI 效果的使用。
有关 Brixelizer GI 效果所基于的技术的详细信息,您可以参考相应的 技术文档。Brixelizer GI 样本的实现可以在 samples/brixelizergi 目录中找到。

要求
Windows DirectX(R)12 Vulkan(R)
UI 元素
Brixelizer GI 中的设置分为静态和动态两类。静态设置是指在创建上下文时必须指定的设置,因此需要销毁并重新创建 Brixelizer 上下文。动态设置是指可以每帧更改的设置。下表总结了静态设置及其在样本中的控制作用。
| 元素名称 | 值 | 描述 |
|---|---|---|
| 网格单元大小 | 0...1 | 最详细级联中 Brixelizer 砖块在世界空间中的大小。为了清晰地看到此设置的效果,可以选择输出类型 BRICK_ID,以便在更改设置时能够清晰地看到单个砖块。 |
| 级联比例大小 | 1.1...3 | 每个级联级别之间的砖块大小比例。 |
下表总结了动态设置及其在样本中的控制作用。
| 元素名称 | 值 | 描述 |
|---|---|---|
| 输出模式 | 无 / 示例着色器 / 调试可视化 / 漫反射 GI / 镜面 GI / 光照缓存 / 辐照度缓存 | 选择样本的输出模式。值将在下方解释。 |
| 输出类型 | DISTANCE / UVW / ITERATIONS / GRADIENT / BRICK_ID / CASCADE_ID | 仅在示例着色器可用时使用。值将在下方解释。 |
| 起始级联 | 0...7 | 用于光线追踪的第一个级联的索引。 |
| 结束级联 | 0...7 | 用于光线追踪的最后一个级联的索引。 |
| SDF 求解 epsilon | 0...1 | 在光线追踪中用于确定是否遇到碰撞的值。 |
| SDF 中心跟随相机 | true / false | 切换是否在移动相机时更新 SDF 中心。 |
| TMin | 0...10 | 用于计算命中距离的最小值。 |
| TMax | 0...10000 | 用于计算命中距离的最大值。 |
| 光线推移 | 0...10 | 在沿法线向量从表面偏移漫反射光线的距离。 |
| 漫反射 GI 因子 | 0...10 | 用于在最终输出中混合漫反射 GI 的因子。 |
| 镜面 GI 因子 | 0...10 | 用于在最终输出中混合镜面 GI 的因子。 |
| 启用 GI | true / false | 切换是否使用 Brixelizer GI。如果未使用,则仅显示具有直接光照的场景。 |
| 多重反弹 | true / false | 切换是否使用 Brixelizer GI 模拟多重反弹 GI,还是仅进行单次反弹 GI。 |
| 重置统计信息 | 点击 | 重置在 Brixelizer 上收集的统计信息。统计信息将在下方解释。 |
下表总结了样本可用的不同输出模式。
| 值 | 描述 |
|---|---|
| 无 | 正常绘制场景。是否使用 Brixelizer GI 由 **启用 GI** 控件切换。 |
| 示例着色器 | 显示样本中示例着色器的输出,演示底层的 Brixelizer SDF。 |
| 调试可视化 | 显示来自 Brixelizer GI API 的调试可视化。 |
| 漫反射 GI | 显示 Brixelizer GI 计算的漫反射 GI。 |
| 镜面 GI | 显示 Brixelizer GI 计算的镜面 GI。 |
| 光照缓存 | 显示 Brixelizer GI 计算的光照缓存的可视化。 |
| 辐照度缓存 | 显示 Brixelizer GI 计算的辐照度缓存的可视化。 |
下表总结了示例着色器可用的输出选项。此着色器演示了底层的 Brixelizer 技术及其场景的 SDF 表示。
| 值 | 描述 |
|---|---|
距离 | 显示一个彩色渐变,表示命中距离。 |
UVW | 显示每次命中的 UVW 坐标。命中的 UVW 坐标是相对于砖块原点的命中的 XYZ 位置。 |
迭代次数 | 显示一个热图渐变,显示收敛前的迭代次数。 |
渐变 | 显示每次命中的法线。 |
BRICK_ID | 以随机颜色显示每个砖块。 |
CASCADE_ID | 以不同的颜色显示每次命中的级联。 |
下表详细介绍了为 Brixelizer 收集的统计信息。每个统计信息都有一个静态版本和一个动态版本,分别对应静态和动态几何,Brixelizer 会分别处理它们。
| 值 | 描述 |
|---|---|
| 空闲砖块 | Brixelizer 当前可用的空闲砖块数量。 |
| 最大砖块 | 单帧中尝试的最大砖块分配数量。 |
| 最大三角形 | 单帧中尝试的最大三角形分配数量。 |
| 最大引用 | 单帧中尝试的最大引用分配数量。 |
设置 FidelityFX Brixelizer GI
该样本包含一个用于 Brixelizer GI 的 渲染模块,该模块负责上下文生命周期和调度。
样本控件和配置
有关样本控件、配置和 FidelityFX Cauldron 框架 UI 元素的详细信息,请参阅 运行样本。