using System;
namespace UnityEngine.Rendering.HighDefinition
{
/// User-facing settings for GPU Resident Drawer draw submission settings.
[Serializable]
public struct GlobalGPUResidentDrawerSettings
{
/// Default GlobalImprovedDrawSubmissionSettings
/// Default value for GlobalImprovedDrawSubmissionSettings
public static GlobalGPUResidentDrawerSettings NewDefault() => new GlobalGPUResidentDrawerSettings()
{
mode = GPUResidentDrawerMode.Disabled,
smallMeshScreenPercentage = 0.0f,
enableOcclusionCullingInCameras = false,
useDepthPrepassForOccluders = true
};
/// batching mode of macro batcher.
public GPUResidentDrawerMode mode;
///
/// Default minimum screen percentage (0-20%) gpu-driven Renderers can cover before getting culled.
///
public float smallMeshScreenPercentage;
/// Enables occlusion culling in cameras
public bool enableOcclusionCullingInCameras;
/// Uses the depth prepass for occluders
public bool useDepthPrepassForOccluders;
}
}