protected override void OnDisable()
        {
            base.OnDisable();

            ActiveProjections.Remove(this);

            Camera.onPreCull    -= HandleRenderStarted;
            Camera.onPostRender -= HandleRenderEnded;

            GetComponent <MeshFilter>().sharedMesh = null;
            MeshRenderer.sharedMaterial.SetTexture(textureProperty, null);
        }
        protected override void OnEnable()
        {
            base.OnEnable();

            Camera.onPreCull    += HandleRenderStarted;
            Camera.onPostRender += HandleRenderEnded;

            InitializeMesh();
            MeshRenderer = GetComponent <MeshRenderer>();

            ActiveProjections.Add(this);
        }