using XCEngine; using XCEngine.Rendering; namespace XCEngine.Rendering.Universal { internal sealed class RenderObjectsFeatureSettings { public RenderPassEvent passEvent = RenderPassEvent.AfterRenderingOpaques; public SceneRenderPhase scenePhase = SceneRenderPhase.Opaque; public RendererListDesc rendererListDesc = RendererListDesc.CreateDefault( RendererListType.Opaque); public DrawingSettings drawingSettings = DrawingSettings.CreateDefault(); public int AppendRuntimeStateHash( int hash) { hash = RuntimeStateHashUtility.Combine( hash, (int)passEvent); hash = RuntimeStateHashUtility.Combine( hash, (int)scenePhase); hash = RuntimeStateHashUtility.Combine( hash, rendererListDesc); hash = RuntimeStateHashUtility.Combine( hash, drawingSettings); return hash; } } }