Пример #1
0
        void SetCameraFlag()
        {
            if (mode == oldMode)
            {
                return;
            }

            if (oldMode == EdgeDetectMode.SobelDepth || oldMode == EdgeDetectMode.SobelDepthThin)
            {
                ImageEffectManager.API_DeAttachCameraRenderFlags(m_Camera, ref flagReference);
            }
            else if (oldMode == EdgeDetectMode.TriangleDepthNormals || oldMode == EdgeDetectMode.RobertsCrossDepthNormals)
            {
                ImageEffectManager.API_DeAttachCameraRenderFlags(m_Camera, ref flagReference);
            }


            if (mode == EdgeDetectMode.SobelDepth || mode == EdgeDetectMode.SobelDepthThin)
            {
                flagReference = ImageEffectManager.API_AttachCameraRenderFlags(m_Camera, DepthTextureMode.Depth);
            }
            else if (mode == EdgeDetectMode.TriangleDepthNormals || mode == EdgeDetectMode.RobertsCrossDepthNormals)
            {
                flagReference = ImageEffectManager.API_AttachCameraRenderFlags(m_Camera, DepthTextureMode.DepthNormals);
            }

            oldMode = mode;
        }
Пример #2
0
        protected void DeAttachAllCameraRenderFlags()
        {
            for (int i = 0; i < flagReferenceList.Count; i++)
            {
                ImageEffectManager.CameraRenderFlagsNode nod = flagReferenceList[i];
                ImageEffectManager.API_DeAttachCameraRenderFlags(m_Camera, ref nod);
            }

            flagReferenceList.Clear();
        }
Пример #3
0
 public override void OnDeActive()
 {
     if (mode == EdgeDetectMode.SobelDepth || mode == EdgeDetectMode.SobelDepthThin)
     {
         ImageEffectManager.API_DeAttachCameraRenderFlags(m_Camera, ref flagReference);
     }
     else if (mode == EdgeDetectMode.TriangleDepthNormals || mode == EdgeDetectMode.RobertsCrossDepthNormals)
     {
         ImageEffectManager.API_DeAttachCameraRenderFlags(m_Camera, ref flagReference);
     }
 }