protected RenderTexture RenderPreview(Vector2 mousePosition, bool clearTexture) { using (var renderingPreview = new RenderingPreview(this)) { SetPlayModeViewSize(targetSize); var currentTargetDisplay = 0; if (ModuleManager.ShouldShowMultiDisplayOption()) { // Display Targets can have valid targets from 0 to 7. System.Diagnostics.Debug.Assert(targetDisplay < 8, "Display Target is Out of Range"); currentTargetDisplay = targetDisplay; } ConfigureTargetTexture((int)targetSize.x, (int)targetSize.y, clearTexture, previewName); if (Event.current == null || Event.current.type != EventType.Repaint) { return(m_TargetTexture); } Vector2 oldOffset = GUIUtility.s_EditorScreenPointOffset; GUIUtility.s_EditorScreenPointOffset = Vector2.zero; SavedGUIState oldState = SavedGUIState.Create(); EditorGUIUtility.RenderPreviewCamerasInternal(m_TargetTexture, currentTargetDisplay, mousePosition, showGizmos, renderIMGUI); oldState.ApplyAndForget(); GUIUtility.s_EditorScreenPointOffset = oldOffset; return(m_TargetTexture); } }