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; }
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(); }
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); } }