public override bool UpdateTilingFromMaterial(ShaderProperty.TextureValue fieldName, PlaytimePainter painter)
        {
            if (!fieldName.IsGlobalVolume())
            {
                return(false);
            }
            var id = painter.ImgMeta;

            if (id == null)
            {
                return(true);
            }
            id.tiling = Vector2.one;
            id.offset = Vector2.zero;
            return(true);
        }
        public override bool SetTextureOnMaterial(ShaderProperty.TextureValue field, ImageMeta id, PlaytimePainter painter)
        {
            if (!field.IsGlobalVolume())
            {
                return(false);
            }

            var gl = VolumeTexture.GetGlobal(field);

            if (gl != null)
            {
                gl.ImageMeta = id;
                gl.UpdateMaterials();
            }

            return(true);
        }
        public override bool GetTexture(ShaderProperty.TextureValue field, ref Texture tex, PlaytimePainter painter)
        {
            if (!field.IsGlobalVolume())
            {
                return(false);
            }

            var gl = VolumeTexture.GetGlobal(field);

            if (gl != null)
            {
                tex = gl.ImageMeta.CurrentTexture();
            }
            else
            {
                tex = null;
            }

            return(true);
        }