剔除结果(可见对象、光源、反射探针)。
在脚本化渲染循环中,渲染过程通常会对每个摄像机进行剔除 (ScriptableRenderContext.Cull),然后渲染可见对象 (ScriptableRenderContext.DrawRenderers) 的子集并处理可见光源(visibleLights、visibleReflectionProbes)。
CullingResults 还提供了一些可辅助阴影渲染的函数(ComputeDirectionalShadowMatricesAndCullingPrimitives、ComputeSpotShadowMatricesAndCullingPrimitives、ComputePointShadowMatricesAndCullingPrimitives)。
lightAndReflectionProbeIndexCount | 获取每个对象的光源和反射探针的索引数。 |
lightIndexCount | 获取每个对象的光源索引数。 |
reflectionProbeIndexCount | 获取每个对象的反射探针索引数。 |
visibleLights | 可见光源的数组。 |
visibleOffscreenVertexLights | 仍会影响可见场景顶点的屏幕外光源。 |
visibleReflectionProbes | 可见反射探针的数组。 |
ComputeDirectionalShadowMatricesAndCullingPrimitives | 计算方向光的视图和投影矩阵以及阴影分割数据。 |
ComputePointShadowMatricesAndCullingPrimitives | 计算点光源的视图和投影矩阵以及阴影分割数据。 |
ComputeSpotShadowMatricesAndCullingPrimitives | 计算聚光灯的视图和投影矩阵以及阴影分割数据。 |
FillLightAndReflectionProbeIndices | 使用每个对象的光源索引填充计算缓冲区。 |
GetLightIndexMap | 如果 RenderPipeline 对 VisibleLight 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的光源列表。 |
GetReflectionProbeIndexMap | 如果 RenderPipeline 对 VisibleReflectionProbe 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的反射探针列表。 |
GetShadowCasterBounds | 返回封装了可见阴影投射物的包围盒。例如,这可用于动态调整级联范围。 |
SetLightIndexMap | 如果 RenderPipeline 对 VisibleLight 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的光源列表。 如果数组的某个元素被设置为 -1,则与该元素对应的光源将被禁用。 |
SetReflectionProbeIndexMap | 如果 RenderPipeline 对 VisibleReflectionProbe 列表进行排序或以其他方式进行修改,则需要重新映射索引,以正确使用每个对象的反射探针列表。 如果数组的某个元素被设置为 -1,则与该元素对应的反射探针将被禁用。 |