예제 #1
0
        public void DeAttachCameraRenderFlags(ref CameraRenderFlagsNode flags)
        {
            if (null == flags)
            {
                return;
            }
            if (!flags.hostCamera || flags.guid < 0)
            {
                return;
            }

            CameraRenderFlagsNode result;

            if (!CameraRenderFlagsTable.TryGetValue(flags.guid, out result))
            {
                return;
            }
            flags.RefCount--;

            if (flags.RefCount <= 0)
            {
                CameraRenderFlagsTable.Remove(flags.guid);
                flags.hostCamera.depthTextureMode &= ~flags.flags;
            }
            flags = null;
        }
예제 #2
0
        public static void API_DeAttachCameraRenderFlags(Camera Cam, ref CameraRenderFlagsNode flags)
        {
            ImageEffectManager res = GetImageEffectManager(Cam);

            if (res)
            {
                res.DeAttachCameraRenderFlags(ref flags);
            }
        }
예제 #3
0
        public static CameraRenderFlagsNode API_AttachCameraRenderFlags(Camera cam, DepthTextureMode mod)
        {
            CameraRenderFlagsNode reslut = null;
            ImageEffectManager    res    = GetImageEffectManager(cam);

            if (res)
            {
                reslut = res.AttachCameraRenderFlags(mod);
            }

            return(reslut);
        }
예제 #4
0
        public CameraRenderFlagsNode AttachCameraRenderFlags(DepthTextureMode mod)
        {
            CameraRenderFlagsNode reslut = null;

            if (!bInitSceneCamera)
            {
                return(reslut);
            }
            int key = (int)mod;

            if (!CameraRenderFlagsTable.TryGetValue(key, out reslut))
            {
                HostCam.depthTextureMode |= mod;
                reslut            = new CameraRenderFlagsNode();
                reslut.hostCamera = HostCam;
                reslut.flags      = mod;
                reslut.guid       = key;
                CameraRenderFlagsTable.Add(key, reslut);
            }
            reslut.RefCount++;

            return(reslut);
        }