Version: 2020.3

CullingResults

struct in UnityEngine.Rendering

切换到手册

描述

剔除结果(可见对象、光源、反射探针)。

在脚本化渲染循环中,渲染过程通常会对每个摄像机进行剔除 (ScriptableRenderContext.Cull),然后渲染可见对象 (ScriptableRenderContext.DrawRenderers) 的子集并处理可见光源(visibleLightsvisibleReflectionProbes)。

CullingResults 还提供了一些可辅助阴影渲染的函数(ComputeDirectionalShadowMatricesAndCullingPrimitivesComputeSpotShadowMatricesAndCullingPrimitivesComputePointShadowMatricesAndCullingPrimitives)。

变量

lightAndReflectionProbeIndexCount获取每个对象的光源和反射探针的索引数。
lightIndexCount获取每个对象的光源索引数。
reflectionProbeIndexCount获取每个对象的反射探针索引数。
visibleLights可见光源的数组。
visibleOffscreenVertexLights仍会影响可见场景顶点的屏幕外光源。
visibleReflectionProbes可见反射探针的数组。

公共函数

ComputeDirectionalShadowMatricesAndCullingPrimitives计算方向光的视图和投影矩阵以及阴影分割数据。
ComputePointShadowMatricesAndCullingPrimitives计算点光源的视图和投影矩阵以及阴影分割数据。
ComputeSpotShadowMatricesAndCullingPrimitives计算聚光灯的视图和投影矩阵以及阴影分割数据。
FillLightAndReflectionProbeIndicesFills a buffer with per-object light indices.
GetLightIndexMap如果 RenderPipeline 对 VisibleLight 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的光源列表。
GetReflectionProbeIndexMap如果 RenderPipeline 对 VisibleReflectionProbe 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的反射探针列表。
GetShadowCasterBounds返回封装了可见阴影投射物的包围盒。例如,这可用于动态调整级联范围。
SetLightIndexMap如果 RenderPipeline 对 VisibleLight 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的光源列表。 如果数组的某个元素被设置为 -1,则与该元素对应的光源将被禁用。
SetReflectionProbeIndexMap如果 RenderPipeline 对 VisibleReflectionProbe 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的反射探针列表。 如果数组的某个元素被设置为 -1,则与该元素对应的反射探针将被禁用。