用于配置可编程渲染管线中的剔除操作的参数。
通过调用 Camera.TryGetCullingParameters 来获取 ScriptableCullingParameters 结构。
请注意,可以在内置渲染管线中从摄像机获取和查看 ScriptableCullingParameters 结构;但是,更改值没有效果。
以下可编程渲染管线代码说明如何使用 Camera.TryGetCullingParameters 从摄像机获取 ScriptableCullingParameters 结构,配置该结构,然后将该结构传递给 ScriptableRenderContext.Cull 以获取 CullingResults 结构。随后可以将 CullingResults 结构用于调用 ScriptableRenderContext.DrawRenderers。
using UnityEngine; using UnityEngine; using UnityEngine.Rendering;
public class ExampleRenderPipelineInstance : RenderPipeline { public ExampleRenderPipelineInstance() { }
protected override void Render(ScriptableRenderContext context, Camera[] cameras) { // Get the culling parameters from the desired Camera if (cameras[0].TryGetCullingParameters(out var cullingParameters)) { // Change culling parameters to configure the culling operation cullingParameters.cullingOptions &= ~CullingOptions.OcclusionCull; cullingParameters.isOrthographic = false;
// Schedule the cull operation CullingResults cullingResults = context.Cull(ref cullingParameters);
// Place code that schedules drawing operations using the CullingResults struct here // See ScriptableRenderContext.DrawRenderers for details and examples // …
// Execute all of the scheduled operations, in order context.Submit(); } } }
另请参阅:Camera.TryGetCullingParameters、ScriptableRenderContext.Cull、CullingResults、ScriptableRenderContext.DrawRenderers。
cullingJobsLowerLimit | 值 ScriptableCullingParameters.maximumPortalCullingJobs 的下限。 |
cullingJobsUpperLimit | 值 ScriptableCullingParameters.maximumPortalCullingJobs 的上限。 |
layerCount | 可用层的数量。 |
maximumCullingPlaneCount | 可以指定的剔除平面的最大数量。 |
accurateOcclusionThreshold | 此参数可确定遮挡剔除的查询距离。 |
cameraProperties | 用于剔除的摄像机属性。 |
conservativeEnclosingSphere | This property enables a conservative method for calculating the size and position of the minimal enclosing sphere around the frustum cascade corner points for shadow culling. |
cullingMask | 剔除操作的遮罩。 |
cullingMatrix | 剔除操作的矩阵。 |
cullingOptions | 用于在可编程渲染管线中配置剔除操作的标志。 |
cullingPlaneCount | 要使用的剔除平面数量。 |
isOrthographic | 剔除正视图。 |
lodParameters | 用于剔除的 LODParameter。 |
maximumPortalCullingJobs | 此参数控制有多少活动作业参与遮挡剔除。 |
maximumVisibleLights | 此参数控制允许多少光线可见。 |
numIterationsEnclosingSphere | |
origin | 剔除原点的位置。 |
reflectionProbeSortingCriteria | 剔除的反射探针排序选项。 |
shadowDistance | 用于剔除的阴影距离。 |
stereoProjectionMatrix | 为单通道立体剔除生成的投影矩阵。 |
stereoSeparationDistance | 虚拟眼睛之间的距离。 |
stereoViewMatrix | 为单通道立体剔除生成的视图矩阵。 |
GetCullingPlane | 在指定索引处获取剔除平面。 |
GetLayerCullingDistance | 获取特定层的剔除的距离。 |
SetCullingPlane | 在指定索引处设置剔除平面。 |
SetLayerCullingDistance | 设置特定层的剔除的距离。 |