public void Setup(FluidRenderingUtils.FluidRendererSettings settings, FluidRenderingUtils.FluidRenderTargets renderTargets, ObiParticleRenderer[] renderers)
        {
            // Copy settings;
            this.settings      = settings;
            this.renderTargets = renderTargets;
            this.renderers     = renderers;

            if (thickness_Material == null)
            {
                thickness_Material = FluidRenderingUtils.CreateMaterial(Shader.Find("Hidden/FluidThickness"));
            }

            if (color_Material == null)
            {
                color_Material = FluidRenderingUtils.CreateMaterial(Shader.Find("Obi/Fluid/Colors/FluidColorsBlend"));
            }

            bool shadersSupported = thickness_Material && color_Material;

            if (!shadersSupported ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.Depth) ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.RFloat) ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf))
            {
                Debug.LogWarning("Obi Fluid Renderer not supported in this platform.");
                return;
            }
        }
        public void Setup(FluidRenderingUtils.FluidRendererSettings settings, FluidRenderingUtils.FluidRenderTargets renderTargets, ObiParticleRenderer[] renderers)
        {
            // Copy settings;
            this.settings      = settings;
            this.renderTargets = renderTargets;
            this.renderers     = renderers;

            if (depth_BlurMaterial == null)
            {
                depth_BlurMaterial = FluidRenderingUtils.CreateMaterial(Shader.Find("Hidden/ScreenSpaceCurvatureFlow"));
            }

            if (normal_ReconstructMaterial == null)
            {
                normal_ReconstructMaterial = FluidRenderingUtils.CreateMaterial(Shader.Find("Hidden/NormalReconstruction"));
            }

            bool shadersSupported = depth_BlurMaterial && normal_ReconstructMaterial;

            if (!shadersSupported ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.Depth) ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.RFloat) ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf))
            {
                Debug.LogWarning("Obi Fluid Renderer not supported in this platform.");
                return;
            }
        }
        public void Setup(FluidRenderingUtils.FluidRendererSettings settings, FluidRenderingUtils.FluidRenderTargets renderTargets)
        {
            // Copy settings;
            this.settings      = settings;
            this.renderTargets = renderTargets;

            if (fluid_Material == null)
            {
                fluid_Material = FluidRenderingUtils.CreateMaterial(Shader.Find("Obi/URP/Fluid/FluidShading"));
            }

            bool shadersSupported = fluid_Material;

            if (!shadersSupported ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.Depth) ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.RFloat) ||
                !SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf))
            {
                Debug.LogWarning("Obi Fluid Renderer not supported in this platform.");
                return;
            }
        }