public void SetGlobalSkyData(CommandBuffer cmd)
        {
            var renderer = m_CurrentSky.renderer;

            if (renderer != null && renderer.IsValid())
            {
                renderer.SetGlobalSkyData(cmd);
            }
            else
            {
                SkyRenderer.SetGlobalNeutralSkyData(cmd);
            }
        }
        public void Cleanup()
        {
            Reset();

            if (renderer != null)
            {
                renderer.Cleanup();
                renderer = null;
            }
            if (renderingContext != null)
            {
                renderingContext.Cleanup();
                renderingContext = null;
            }
        }
        public override void SetGlobalSkyData(CommandBuffer cmd)
        {
            UpdateGlobalConstantBuffer(cmd);

            // TODO: ground irradiance table? Volume SH? Something else?
            if (m_LastPrecomputedBounce > 0)
            {
                cmd.SetGlobalTexture(HDShaderIDs._AirSingleScatteringTexture, m_InScatteredRadianceTables[0]);
                cmd.SetGlobalTexture(HDShaderIDs._AerosolSingleScatteringTexture, m_InScatteredRadianceTables[1]);
                cmd.SetGlobalTexture(HDShaderIDs._MultipleScatteringTexture, m_InScatteredRadianceTables[2]);
            }
            else
            {
                SkyRenderer.SetGlobalNeutralSkyData(cmd);
            }
        }