void ShowRealtimeLMGUI(Renderer renderer) { Hash128 inputSystemHash; if (renderer == null || !Lightmapping.GetInputSystemHash(renderer.GetInstanceID(), out inputSystemHash) || inputSystemHash == new Hash128()) { return; // early return since we don't have any lightmaps for it } if (!UpdateRealtimeTexture(inputSystemHash, renderer.GetInstanceID())) { return; } m_ShowRealtimeLM.value = EditorGUILayout.Foldout(m_ShowRealtimeLM.value, Styles.realtimeLM, true); if (!m_ShowRealtimeLM.value) { return; } EditorGUI.indentLevel += 1; GUILayout.BeginHorizontal(); DrawLightmapPreview(m_CachedRealtimeTexture.texture, true, renderer.GetInstanceID()); GUILayout.BeginVertical(); int instWidth, instHeight; if (Lightmapping.GetInstanceResolution(renderer, out instWidth, out instHeight)) { GUILayout.Label(Styles.realtimeLMInstanceResolution.text + ": " + instWidth + "x" + instHeight); } int width, height; if (Lightmapping.GetSystemResolution(renderer, out width, out height)) { GUILayout.Label(Styles.realtimeLMResolution.text + ": " + width + "x" + height); } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); if (Unsupported.IsDeveloperMode()) { Hash128 instanceHash; if (Lightmapping.GetInstanceHash(renderer, out instanceHash)) { EditorGUILayout.LabelField(Styles.realtimeLMInstanceHash, GUIContent.Temp(instanceHash.ToString())); } Hash128 geometryHash; if (Lightmapping.GetGeometryHash(renderer, out geometryHash)) { EditorGUILayout.LabelField(Styles.realtimeLMGeometryHash, GUIContent.Temp(geometryHash.ToString())); } EditorGUILayout.LabelField(Styles.realtimeLMInputSystemHash, GUIContent.Temp(inputSystemHash.ToString())); } EditorGUI.indentLevel -= 1; GUILayout.Space(5); }