using XCEngine; using XCEngine.Rendering; namespace XCEngine.Rendering.Renderer { public sealed class RendererRecordingContext { private readonly ScriptableRenderContext m_renderContext; internal RendererRecordingContext( ScriptableRenderContext renderContext) { m_renderContext = renderContext; } public bool RecordScene() { return m_renderContext != null && m_renderContext.RecordScene(); } public bool RecordOpaqueScenePhase() { return m_renderContext != null && m_renderContext.RecordOpaqueScenePhase(); } public bool RecordSkyboxScenePhase() { return m_renderContext != null && m_renderContext.RecordSkyboxScenePhase(); } public bool RecordTransparentScenePhase() { return m_renderContext != null && m_renderContext.RecordTransparentScenePhase(); } public bool RecordBeforeOpaqueInjection() { return m_renderContext != null && m_renderContext.RecordBeforeOpaqueInjection(); } public bool RecordAfterOpaqueInjection() { return m_renderContext != null && m_renderContext.RecordAfterOpaqueInjection(); } public bool RecordBeforeSkyboxInjection() { return m_renderContext != null && m_renderContext.RecordBeforeSkyboxInjection(); } public bool RecordAfterSkyboxInjection() { return m_renderContext != null && m_renderContext.RecordAfterSkyboxInjection(); } public bool RecordBeforeTransparentInjection() { return m_renderContext != null && m_renderContext.RecordBeforeTransparentInjection(); } public bool RecordAfterTransparentInjection() { return m_renderContext != null && m_renderContext.RecordAfterTransparentInjection(); } public bool RecordColorScaleFullscreenPass( Vector4 colorScale) { return m_renderContext != null && m_renderContext.RecordColorScaleFullscreenPass( colorScale); } public bool RecordShaderVectorFullscreenPass( string shaderPath, Vector4 vectorPayload, string passName = null) { return m_renderContext != null && m_renderContext.RecordShaderVectorFullscreenPass( shaderPath, vectorPayload, passName); } } }