public void Maps() { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } GUI.changed = false; if (Lightmapping.giWorkflowMode == Lightmapping.GIWorkflowMode.OnDemand) { SerializedObject serializedObject = new SerializedObject(LightmapEditorSettings.GetLightmapSettings()); SerializedProperty property = serializedObject.FindProperty("m_LightingDataAsset"); EditorGUILayout.PropertyField(property, LightingWindowLightmapPreviewTab.s_Styles.LightingDataAsset, new GUILayoutOption[0]); serializedObject.ApplyModifiedProperties(); } GUILayout.Space(10f); LightmapData[] lightmaps = LightmapSettings.lightmaps; this.m_ScrollPositionMaps = GUILayout.BeginScrollView(this.m_ScrollPositionMaps, new GUILayoutOption[0]); EditorGUI.BeginDisabledGroup(true); for (int i = 0; i < lightmaps.Length; i++) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.Label(i.ToString(), new GUILayoutOption[0]); GUILayout.Space(5f); lightmaps[i].lightmapFar = this.LightmapField(lightmaps[i].lightmapFar, i); GUILayout.Space(10f); lightmaps[i].lightmapNear = this.LightmapField(lightmaps[i].lightmapNear, i); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } EditorGUI.EndDisabledGroup(); GUILayout.EndScrollView(); }
public void LightmapPreview(Rect r) { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } bool flag = true; GUI.Box(r, string.Empty, "PreBackground"); this.m_ScrollPositionLightmaps = EditorGUILayout.BeginScrollView(this.m_ScrollPositionLightmaps, new GUILayoutOption[] { GUILayout.Height(r.height) }); int num = 0; float num2 = 2f; LightmapData[] lightmaps = LightmapSettings.lightmaps; for (int i = 0; i < lightmaps.Length; i++) { LightmapData lightmapData = lightmaps[i]; if (lightmapData.lightmapFar == null && lightmapData.lightmapNear == null) { num++; } else { int num3 = (!lightmapData.lightmapFar) ? -1 : Math.Max(lightmapData.lightmapFar.width, lightmapData.lightmapFar.height); int num4 = (!lightmapData.lightmapNear) ? -1 : Math.Max(lightmapData.lightmapNear.width, lightmapData.lightmapNear.height); Texture2D texture2D = (num3 <= num4) ? lightmapData.lightmapNear : lightmapData.lightmapFar; GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MaxWidth((float)texture2D.width * num2), GUILayout.MaxHeight((float)texture2D.height) }; Rect aspectRect = GUILayoutUtility.GetAspectRect((float)texture2D.width * num2 / (float)texture2D.height, options); if (flag) { LightingWindowLightmapPreviewTab.Header(ref aspectRect, 20f, 6f, num2); flag = false; } aspectRect.width /= num2; EditorGUI.DrawPreviewTexture(aspectRect, lightmapData.lightmapFar); this.MenuSelectLightmapUsers(aspectRect, num); if (lightmapData.lightmapNear) { aspectRect.x += aspectRect.width; EditorGUI.DrawPreviewTexture(aspectRect, lightmapData.lightmapNear); this.MenuSelectLightmapUsers(aspectRect, num); } num++; } } EditorGUILayout.EndScrollView(); }
public void LightmapPreview(Rect r) { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } GUI.Box(r, "", "PreBackground"); this.m_ScrollPositionLightmaps = EditorGUILayout.BeginScrollView(this.m_ScrollPositionLightmaps, new GUILayoutOption[] { GUILayout.Height(r.height) }); int num = 0; float num2 = 2f; Rect rect = GUILayoutUtility.GetRect(r.width, r.width, 20f, 20f); LightingWindowLightmapPreviewTab.Header(rect, num2); LightmapData[] lightmaps = LightmapSettings.lightmaps; for (int i = 0; i < lightmaps.Length; i++) { LightmapData lightmapData = lightmaps[i]; if (lightmapData.lightmapLight == null && lightmapData.lightmapDir == null) { num++; } else { int num3 = (!lightmapData.lightmapLight) ? -1 : Math.Max(lightmapData.lightmapLight.width, lightmapData.lightmapLight.height); int num4 = (!lightmapData.lightmapDir) ? -1 : Math.Max(lightmapData.lightmapDir.width, lightmapData.lightmapDir.height); Texture2D texture2D = (num3 <= num4) ? lightmapData.lightmapDir : lightmapData.lightmapLight; GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MaxWidth(r.width), GUILayout.MaxHeight((float)Mathf.Min(new int[] { texture2D.height })) }; Rect aspectRect = GUILayoutUtility.GetAspectRect(num2, options); aspectRect.width -= 5f; aspectRect.width /= num2; EditorGUI.DrawPreviewTexture(aspectRect, lightmapData.lightmapLight); this.MenuSelectLightmapUsers(aspectRect, num); if (lightmapData.lightmapDir) { aspectRect.x += aspectRect.width + 5f; EditorGUI.DrawPreviewTexture(aspectRect, lightmapData.lightmapDir); this.MenuSelectLightmapUsers(aspectRect, num); } GUILayout.Space(10f); num++; } } EditorGUILayout.EndScrollView(); }
public void LightmapPreview(Rect r) { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } bool flag = true; GUI.Box(r, string.Empty, (GUIStyle)"PreBackground"); this.m_ScrollPositionLightmaps = EditorGUILayout.BeginScrollView(this.m_ScrollPositionLightmaps, GUILayout.Height(r.height)); int lightmapIndex = 0; float maxLightmaps = 2f; foreach (LightmapData lightmap in LightmapSettings.lightmaps) { if ((UnityEngine.Object)lightmap.lightmapFar == (UnityEngine.Object)null && (UnityEngine.Object)lightmap.lightmapNear == (UnityEngine.Object)null) { ++lightmapIndex; } else { Texture2D texture2D = (!(bool)((UnityEngine.Object)lightmap.lightmapFar) ? -1 : Math.Max(lightmap.lightmapFar.width, lightmap.lightmapFar.height)) <= (!(bool)((UnityEngine.Object)lightmap.lightmapNear) ? -1 : Math.Max(lightmap.lightmapNear.width, lightmap.lightmapNear.height)) ? lightmap.lightmapNear : lightmap.lightmapFar; GUILayoutOption[] guiLayoutOptionArray = new GUILayoutOption[2] { GUILayout.MaxWidth((float)texture2D.width * maxLightmaps), GUILayout.MaxHeight((float)texture2D.height) }; Rect aspectRect = GUILayoutUtility.GetAspectRect((float)texture2D.width * maxLightmaps / (float)texture2D.height, guiLayoutOptionArray); if (flag) { LightingWindowLightmapPreviewTab.Header(ref aspectRect, 20f, 6f, maxLightmaps); flag = false; } aspectRect.width /= maxLightmaps; EditorGUI.DrawPreviewTexture(aspectRect, (Texture)lightmap.lightmapFar); this.MenuSelectLightmapUsers(aspectRect, lightmapIndex); if ((bool)((UnityEngine.Object)lightmap.lightmapNear)) { aspectRect.x += aspectRect.width; EditorGUI.DrawPreviewTexture(aspectRect, (Texture)lightmap.lightmapNear); this.MenuSelectLightmapUsers(aspectRect, lightmapIndex); } ++lightmapIndex; } } EditorGUILayout.EndScrollView(); }
public void LightmapPreview(Rect r) { if (LightingWindowLightmapPreviewTab.s_Styles == null) LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); bool flag = true; GUI.Box(r, string.Empty, (GUIStyle) "PreBackground"); this.m_ScrollPositionLightmaps = EditorGUILayout.BeginScrollView(this.m_ScrollPositionLightmaps, GUILayout.Height(r.height)); int lightmapIndex = 0; float maxLightmaps = 2f; foreach (LightmapData lightmap in LightmapSettings.lightmaps) { if ((UnityEngine.Object) lightmap.lightmapFar == (UnityEngine.Object) null && (UnityEngine.Object) lightmap.lightmapNear == (UnityEngine.Object) null) { ++lightmapIndex; } else { Texture2D texture2D = (!(bool) ((UnityEngine.Object) lightmap.lightmapFar) ? -1 : Math.Max(lightmap.lightmapFar.width, lightmap.lightmapFar.height)) <= (!(bool) ((UnityEngine.Object) lightmap.lightmapNear) ? -1 : Math.Max(lightmap.lightmapNear.width, lightmap.lightmapNear.height)) ? lightmap.lightmapNear : lightmap.lightmapFar; GUILayoutOption[] guiLayoutOptionArray = new GUILayoutOption[2]{ GUILayout.MaxWidth((float) texture2D.width * maxLightmaps), GUILayout.MaxHeight((float) texture2D.height) }; Rect aspectRect = GUILayoutUtility.GetAspectRect((float) texture2D.width * maxLightmaps / (float) texture2D.height, guiLayoutOptionArray); if (flag) { LightingWindowLightmapPreviewTab.Header(ref aspectRect, 20f, 6f, maxLightmaps); flag = false; } aspectRect.width /= maxLightmaps; EditorGUI.DrawPreviewTexture(aspectRect, (Texture) lightmap.lightmapFar); this.MenuSelectLightmapUsers(aspectRect, lightmapIndex); if ((bool) ((UnityEngine.Object) lightmap.lightmapNear)) { aspectRect.x += aspectRect.width; EditorGUI.DrawPreviewTexture(aspectRect, (Texture) lightmap.lightmapNear); this.MenuSelectLightmapUsers(aspectRect, lightmapIndex); } ++lightmapIndex; } } EditorGUILayout.EndScrollView(); }
public void Maps() { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } GUI.changed = false; if (Lightmapping.giWorkflowMode == Lightmapping.GIWorkflowMode.OnDemand) { SerializedObject serializedObject = new SerializedObject(LightmapEditorSettings.GetLightmapSettings()); SerializedProperty property = serializedObject.FindProperty("m_LightmapSnapshot"); EditorGUILayout.PropertyField(property, LightingWindowLightmapPreviewTab.s_Styles.LightmapSnapshot, new GUILayoutOption[0]); serializedObject.ApplyModifiedProperties(); } GUILayout.Space(10f); LightmapData[] lightmaps = LightmapSettings.lightmaps; EditorGUI.BeginDisabledGroup(true); this.m_ScrollPositionMaps = GUILayout.BeginScrollView(this.m_ScrollPositionMaps, new GUILayoutOption[0]); for (int i = 0; i < lightmaps.Length; i++) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.Label(i.ToString(), new GUILayoutOption[0]); GUILayout.Space(5f); lightmaps[i].lightmapFar = this.LightmapField(lightmaps[i].lightmapFar, i); GUILayout.Space(10f); lightmaps[i].lightmapNear = this.LightmapField(lightmaps[i].lightmapNear, i); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); EditorGUI.EndDisabledGroup(); }
public void LightmapPreview(Rect r) { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } GUI.Box(r, "", "PreBackground"); this.m_ScrollPositionLightmaps = EditorGUILayout.BeginScrollView(this.m_ScrollPositionLightmaps, new GUILayoutOption[] { GUILayout.Height(r.height) }); int num = 0; bool flag = false; bool flag2 = false; LightmapData[] lightmaps = LightmapSettings.lightmaps; for (int i = 0; i < lightmaps.Length; i++) { LightmapData lightmapData = lightmaps[i]; if (lightmapData.lightmapDir != null) { flag = true; } if (lightmapData.shadowMask != null) { flag2 = true; } } float num2 = 1f; if (flag) { num2 += 1f; } if (flag2) { num2 += 1f; } Rect rect = GUILayoutUtility.GetRect(r.width, r.width, 20f, 20f); LightingWindowLightmapPreviewTab.DrawHeader(rect, flag, flag2, num2); LightmapData[] lightmaps2 = LightmapSettings.lightmaps; for (int j = 0; j < lightmaps2.Length; j++) { LightmapData lightmapData2 = lightmaps2[j]; if (lightmapData2.lightmapColor == null && lightmapData2.lightmapDir == null && lightmapData2.shadowMask == null) { num++; } else { int num3 = (!lightmapData2.lightmapColor) ? -1 : Math.Max(lightmapData2.lightmapColor.width, lightmapData2.lightmapColor.height); int num4 = (!lightmapData2.lightmapDir) ? -1 : Math.Max(lightmapData2.lightmapDir.width, lightmapData2.lightmapDir.height); int num5 = (!lightmapData2.shadowMask) ? -1 : Math.Max(lightmapData2.shadowMask.width, lightmapData2.shadowMask.height); Texture2D texture2D; if (num3 > num4) { texture2D = ((num3 <= num5) ? lightmapData2.shadowMask : lightmapData2.lightmapColor); } else { texture2D = ((num4 <= num5) ? lightmapData2.shadowMask : lightmapData2.lightmapDir); } GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.MaxWidth(r.width), GUILayout.MaxHeight((float)texture2D.height) }; Rect aspectRect = GUILayoutUtility.GetAspectRect(num2, options); float num6 = 5f; aspectRect.width /= num2; aspectRect.width -= num6; aspectRect.x += num6 / 2f; EditorGUI.DrawPreviewTexture(aspectRect, lightmapData2.lightmapColor); this.MenuSelectLightmapUsers(aspectRect, num); if (lightmapData2.lightmapDir) { aspectRect.x += aspectRect.width + num6; EditorGUI.DrawPreviewTexture(aspectRect, lightmapData2.lightmapDir); this.MenuSelectLightmapUsers(aspectRect, num); } if (lightmapData2.shadowMask) { aspectRect.x += aspectRect.width + num6; EditorGUI.DrawPreviewTexture(aspectRect, lightmapData2.shadowMask); this.MenuSelectLightmapUsers(aspectRect, num); } GUILayout.Space(10f); num++; } } EditorGUILayout.EndScrollView(); }
public void Maps() { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } GUI.changed = false; if (Lightmapping.giWorkflowMode == Lightmapping.GIWorkflowMode.OnDemand) { SerializedObject serializedObject = new SerializedObject(LightmapEditorSettings.GetLightmapSettings()); SerializedProperty property = serializedObject.FindProperty("m_LightingDataAsset"); EditorGUILayout.PropertyField(property, LightingWindowLightmapPreviewTab.s_Styles.LightingDataAsset, new GUILayoutOption[0]); serializedObject.ApplyModifiedProperties(); } GUILayout.Space(10f); LightmapData[] lightmaps = LightmapSettings.lightmaps; this.m_ScrollPositionMaps = GUILayout.BeginScrollView(this.m_ScrollPositionMaps, new GUILayoutOption[0]); using (new EditorGUI.DisabledScope(true)) { bool flag = false; bool flag2 = false; LightmapData[] array = lightmaps; for (int i = 0; i < array.Length; i++) { LightmapData lightmapData = array[i]; if (lightmapData.lightmapDir != null) { flag = true; } if (lightmapData.shadowMask != null) { flag2 = true; } } for (int j = 0; j < lightmaps.Length; j++) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.Space(5f); lightmaps[j].lightmapColor = this.LightmapField(lightmaps[j].lightmapColor, j); if (flag) { GUILayout.Space(10f); lightmaps[j].lightmapDir = this.LightmapField(lightmaps[j].lightmapDir, j); } if (flag2) { GUILayout.Space(10f); lightmaps[j].shadowMask = this.LightmapField(lightmaps[j].shadowMask, j); } GUILayout.Space(5f); LightmapConvergence lightmapConvergence = Lightmapping.GetLightmapConvergence(j); GUILayout.BeginVertical(new GUILayoutOption[0]); GUILayout.Label("Index: " + j, EditorStyles.miniBoldLabel, new GUILayoutOption[0]); if (lightmapConvergence.IsValid()) { GUILayout.Label("Occupied: " + InternalEditorUtility.CountToString((ulong)((long)lightmapConvergence.occupiedTexelCount)), EditorStyles.miniLabel, new GUILayoutOption[0]); GUIContent content = EditorGUIUtility.TextContent(string.Concat(new object[] { "Direct: ", lightmapConvergence.minDirectSamples, " / ", lightmapConvergence.maxDirectSamples, " / ", lightmapConvergence.avgDirectSamples, "|min / max / avg samples per texel" })); GUILayout.Label(content, EditorStyles.miniLabel, new GUILayoutOption[0]); GUIContent content2 = EditorGUIUtility.TextContent(string.Concat(new object[] { "GI: ", lightmapConvergence.minGISamples, " / ", lightmapConvergence.maxGISamples, " / ", lightmapConvergence.avgGISamples, "|min / max / avg samples per texel" })); GUILayout.Label(content2, EditorStyles.miniLabel, new GUILayoutOption[0]); } else { GUILayout.Label("Occupied: N/A", EditorStyles.miniLabel, new GUILayoutOption[0]); GUILayout.Label("Direct: N/A", EditorStyles.miniLabel, new GUILayoutOption[0]); GUILayout.Label("GI: N/A", EditorStyles.miniLabel, new GUILayoutOption[0]); } float lightmapBakePerformance = Lightmapping.GetLightmapBakePerformance(j); if ((double)lightmapBakePerformance >= 0.0) { GUILayout.Label(lightmapBakePerformance.ToString("0.00") + " mrays/sec", EditorStyles.miniLabel, new GUILayoutOption[0]); } else { GUILayout.Label("N/A mrays/sec", EditorStyles.miniLabel, new GUILayoutOption[0]); } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } } GUILayout.EndScrollView(); }
public void Maps() { if (LightingWindowLightmapPreviewTab.s_Styles == null) { LightingWindowLightmapPreviewTab.s_Styles = new LightingWindowLightmapPreviewTab.Styles(); } GUI.changed = false; if (Lightmapping.giWorkflowMode == Lightmapping.GIWorkflowMode.OnDemand) { SerializedObject serializedObject = new SerializedObject(LightmapEditorSettings.GetLightmapSettings()); SerializedProperty property = serializedObject.FindProperty("m_LightingDataAsset"); EditorGUILayout.PropertyField(property, LightingWindowLightmapPreviewTab.s_Styles.LightingDataAsset, new GUILayoutOption[0]); serializedObject.ApplyModifiedProperties(); } GUILayout.Space(10f); LightingWindowLightmapPreviewTab.GlobalMapsViewType globalMapsViewType = LightingWindowLightmapPreviewTab.GlobalMapsViewType.Performance; if (EditorPrefs.GetBool("DeveloperMode", false)) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); globalMapsViewType = (LightingWindowLightmapPreviewTab.GlobalMapsViewType)EditorPrefs.GetInt("LightingWindowGlobalMapsViewType", (int)globalMapsViewType); EditorGUI.BeginChangeCheck(); globalMapsViewType = (LightingWindowLightmapPreviewTab.GlobalMapsViewType)GUILayout.Toolbar((int)globalMapsViewType, new string[] { "Performance", "Memory" }, EditorStyles.miniButton, new GUILayoutOption[] { GUILayout.ExpandWidth(false) }); if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetInt("LightingWindowGlobalMapsViewType", (int)globalMapsViewType); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } LightmapData[] lightmaps = LightmapSettings.lightmaps; this.m_ScrollPositionMaps = GUILayout.BeginScrollView(this.m_ScrollPositionMaps, new GUILayoutOption[0]); bool showDirLightmap = false; bool showShadowMask = false; LightmapData[] array = lightmaps; for (int i = 0; i < array.Length; i++) { LightmapData lightmapData = array[i]; if (lightmapData.lightmapDir != null) { showDirLightmap = true; } if (lightmapData.shadowMask != null) { showShadowMask = true; } } if (globalMapsViewType == LightingWindowLightmapPreviewTab.GlobalMapsViewType.Performance) { this.PerformanceCentricView(lightmaps, showDirLightmap, showShadowMask, globalMapsViewType); } else { this.MemoryCentricView(lightmaps, showDirLightmap, showShadowMask, globalMapsViewType); } GUILayout.EndScrollView(); }