void DrawShadowSettings() { m_ShadowSettingsFoldout = EditorGUILayout.Foldout(m_ShadowSettingsFoldout, Styles.shadowSettingsText); if (m_ShadowSettingsFoldout) { EditorGUI.indentLevel++; m_ShadowDistanceProp.floatValue = Mathf.Max(0.0f, EditorGUILayout.FloatField(Styles.shadowDistanceText, m_ShadowDistanceProp.floatValue)); CoreEditorUtils.DrawPopup(Styles.shadowCascadesText, m_ShadowCascadesProp, Styles.shadowCascadeOptions); ShadowCascadesOption cascades = (ShadowCascadesOption)m_ShadowCascadesProp.intValue; if (cascades == ShadowCascadesOption.FourCascades) { CoreEditorUtils.DrawCascadeSplitGUI <Vector3>(ref m_ShadowCascade4SplitProp); } else if (cascades == ShadowCascadesOption.TwoCascades) { CoreEditorUtils.DrawCascadeSplitGUI <float>(ref m_ShadowCascade2SplitProp); } EditorGUILayout.PropertyField(m_SoftShadowsSupportedProp, Styles.supportsSoftShadows); EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); } }
void DrawShadowSettings() { m_ShadowSettingsFoldout.value = EditorGUILayout.BeginFoldoutHeaderGroup(m_ShadowSettingsFoldout.value, Styles.shadowSettingsText); if (m_ShadowSettingsFoldout.value) { EditorGUI.indentLevel++; m_ShadowDistanceProp.floatValue = Mathf.Max(0.0f, EditorGUILayout.FloatField(Styles.shadowDistanceText, m_ShadowDistanceProp.floatValue)); CoreEditorUtils.DrawPopup(Styles.shadowCascadesText, m_ShadowCascadesProp, Styles.shadowCascadeOptions); ShadowCascadesOption cascades = (ShadowCascadesOption)m_ShadowCascadesProp.intValue; if (cascades == ShadowCascadesOption.FourCascades) { LightweightRenderPipelineEditorUtils.DrawCascadeSplitGUI <Vector3>(ref m_ShadowCascade4SplitProp); } else if (cascades == ShadowCascadesOption.TwoCascades) { LightweightRenderPipelineEditorUtils.DrawCascadeSplitGUI <float>(ref m_ShadowCascade2SplitProp); } m_ShadowDepthBiasProp.floatValue = EditorGUILayout.Slider(Styles.shadowDepthBias, m_ShadowDepthBiasProp.floatValue, 0.0f, LightweightRenderPipeline.maxShadowBias); m_ShadowNormalBiasProp.floatValue = EditorGUILayout.Slider(Styles.shadowNormalBias, m_ShadowNormalBiasProp.floatValue, 0.0f, LightweightRenderPipeline.maxShadowBias); EditorGUILayout.PropertyField(m_SoftShadowsSupportedProp, Styles.supportsSoftShadows); EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); } EditorGUILayout.EndFoldoutHeaderGroup(); }
public override void OnInspectorGUI() { serializedObject.Update(); UpdateAnimationValues(); EditorGUILayout.Space(); EditorGUILayout.LabelField(Styles.renderingLabel, EditorStyles.boldLabel); EditorGUI.indentLevel++; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(Styles.renderScaleLabel); m_RenderScale.floatValue = EditorGUILayout.Slider(m_RenderScale.floatValue, kMinRenderScale, kMaxRenderScale); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(Styles.maxPixelLightsLabel); m_MaxPixelLights.intValue = EditorGUILayout.IntSlider(m_MaxPixelLights.intValue, 0, kMaxSupportedPixelLights); EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(m_SupportsVertexLightProp, Styles.enableVertexLightLabel); EditorGUILayout.PropertyField(m_RequireDepthTextureProp, Styles.requireDepthTexture); DrawAnimatedProperty(m_RequireSoftParticlesProp, Styles.requireSoftParticles, m_ShowSoftParticles); EditorGUILayout.PropertyField(m_HDR, Styles.hdrContent); EditorGUILayout.PropertyField(m_MSAA, Styles.msaaContent); EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.LabelField(Styles.shadowLabel, EditorStyles.boldLabel); EditorGUI.indentLevel++; CoreEditorUtils.DrawPopup(Styles.shadowType, m_ShadowTypeProp, Styles.shadowTypeOptions); EditorGUILayout.PropertyField(m_ShadowAtlasResolutionProp, Styles.shadowAtlasResolution); EditorGUILayout.PropertyField(m_ShadowNearPlaneOffsetProp, Styles.shadowNearPlaneOffset); m_ShadowDistanceProp.floatValue = Mathf.Max(0.0f, EditorGUILayout.FloatField(Styles.shadowDistante, m_ShadowDistanceProp.floatValue)); CoreEditorUtils.DrawPopup(Styles.shadowCascades, m_ShadowCascadesProp, Styles.shadowCascadeOptions); ShadowCascades cascades = (ShadowCascades)m_ShadowCascadesProp.intValue; if (cascades == ShadowCascades.FOUR_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <Vector3>(ref m_ShadowCascade4SplitProp); } else if (cascades == ShadowCascades.TWO_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <float>(ref m_ShadowCascade2SplitProp); } EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.LabelField(Styles.customeMenu, EditorStyles.boldLabel); EditorGUI.indentLevel++; int layerMask = GuiLayerMask(m_NoSelfShadowLayerMask.intValue); m_NoSelfShadowLayerMask.intValue = layerMask; EditorGUI.indentLevel--; serializedObject.ApplyModifiedProperties(); }
void DrawAdditionalSettings() { EditorGUIUtility.labelWidth = 160; EditorGUILayout.Space(); CoreEditorUtils.DrawPopup(EditorGUIUtility.TrTextContent("UV Space"), waterUVs, new string[] { "Local", "World" }); EditorGUILayout.PropertyField(hideComponents, EditorGUIUtility.TrTextContent("Hide Components")); EditorGUILayout.Space(); EditorGUILayout.Space(); }
void DrawAnimatedPopup(SerializedProperty prop, GUIContent content, string[] options, AnimBool animation) { using (var group = new EditorGUILayout.FadeGroupScope(animation.faded)) if (group.visible) { CoreEditorUtils.DrawPopup(content, prop, options); } }
void DrawLightingSettings() { m_LightingSettingsFoldout.value = EditorGUILayout.BeginFoldoutHeaderGroup(m_LightingSettingsFoldout.value, Styles.lightingSettingsText); if (m_LightingSettingsFoldout.value) { EditorGUI.indentLevel++; // Main Light bool disableGroup = false; EditorGUI.BeginDisabledGroup(disableGroup); CoreEditorUtils.DrawPopup(Styles.mainLightRenderingModeText, m_MainLightRenderingModeProp, Styles.mainLightOptions); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel++; disableGroup |= !m_MainLightRenderingModeProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_MainLightShadowsSupportedProp, Styles.supportsMainLightShadowsText); EditorGUI.EndDisabledGroup(); disableGroup |= !m_MainLightShadowsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_MainLightShadowmapResolutionProp, Styles.mainLightShadowmapResolutionText); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; EditorGUILayout.Space(); // Additional light selectedLightRenderingMode = (LightRenderingMode)EditorGUILayout.EnumPopup(Styles.addditionalLightsRenderingModeText, selectedLightRenderingMode); m_AdditionalLightsRenderingModeProp.intValue = (int)selectedLightRenderingMode; EditorGUI.indentLevel++; disableGroup = m_AdditionalLightsRenderingModeProp.intValue == (int)LightRenderingMode.Disabled; EditorGUI.BeginDisabledGroup(disableGroup); m_AdditionalLightsPerObjectLimitProp.intValue = EditorGUILayout.IntSlider(Styles.perObjectLimit, m_AdditionalLightsPerObjectLimitProp.intValue, 0, UniversalRenderPipeline.maxPerObjectLights); EditorGUI.EndDisabledGroup(); disableGroup |= (m_AdditionalLightsPerObjectLimitProp.intValue == 0 || m_AdditionalLightsRenderingModeProp.intValue != (int)LightRenderingMode.PerPixel); EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_AdditionalLightShadowsSupportedProp, Styles.supportsAdditionalShadowsText); EditorGUI.EndDisabledGroup(); disableGroup |= !m_AdditionalLightShadowsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_AdditionalLightShadowmapResolutionProp, Styles.additionalLightsShadowmapResolution); DrawShadowResolutionTierSettings(); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); } EditorGUILayout.EndFoldoutHeaderGroup(); }
void DrawLightingSettings() { m_LightingSettingsFoldout = EditorGUILayout.Foldout(m_LightingSettingsFoldout, Styles.lightingSettingsText, true); if (m_LightingSettingsFoldout) { EditorGUI.indentLevel++; // Main Light bool disableGroup = false; EditorGUI.BeginDisabledGroup(disableGroup); CoreEditorUtils.DrawPopup(Styles.mainLightRenderingModeText, m_MainLightRenderingModeProp, Styles.mainLightOptions); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel++; disableGroup |= !m_MainLightRenderingModeProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_MainLightShadowsSupportedProp, Styles.supportsMainLightShadowsText); EditorGUI.EndDisabledGroup(); disableGroup |= !m_MainLightShadowsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_MainLightShadowmapResolutionProp, Styles.mainLightShadowmapResolutionText); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; EditorGUILayout.Space(); // Additional light Shadows // TODO: We need to change the order of the dropdown menu here. We want to display {None, Vertex Lighting, Pixel Lighting} CoreEditorUtils.DrawPopup(Styles.addditionalLightsRenderingModeText, m_AdditionalLightsRenderingModeProp, Styles.additionalLightsOptions); EditorGUI.indentLevel++; disableGroup = m_AdditionalLightsRenderingModeProp.intValue != (int)LightRenderingMode.PerPixel; EditorGUI.BeginDisabledGroup(disableGroup); m_AdditionalLightsPerObjectLimitProp.intValue = EditorGUILayout.IntSlider(Styles.perObjectLimit, m_AdditionalLightsPerObjectLimitProp.intValue, 0, k_MaxSupportedPerObjectLights); EditorGUI.EndDisabledGroup(); disableGroup |= m_AdditionalLightsPerObjectLimitProp.intValue == 0; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_AdditionalLightShadowsSupportedProp, Styles.supportsAdditionalShadowsText); EditorGUI.EndDisabledGroup(); disableGroup |= !m_AdditionalLightShadowsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_AdditionalLightShadowmapResolutionProp, Styles.additionalLightsShadowmapResolution); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); } }
void DrawGeneralSettings() { EditorGUILayout.LabelField(Styles.generalSettingsLabel, EditorStyles.boldLabel); EditorGUI.indentLevel++; EditorGUI.BeginDisabledGroup(XRGraphicsConfig.tryEnable); // Begin XR-overridden values m_RenderScale.floatValue = EditorGUILayout.Slider(Styles.renderScaleLabel, m_RenderScale.floatValue, k_MinRenderScale, k_MaxRenderScale); EditorGUI.EndDisabledGroup(); // End XR-overridden values m_MaxPixelLights.intValue = EditorGUILayout.IntSlider(Styles.maxPixelLightsLabel, m_MaxPixelLights.intValue, 0, k_MaxSupportedPixelLights); EditorGUILayout.Space(); bool directionalShadows = m_DirectionalShadowsSupportedProp.boolValue; if (directionalShadows) { EditorGUILayout.LabelField(Styles.directionalShadowLabel); EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_DirectionalShadowAtlasResolutionProp, Styles.directionalShadowAtlasResolution); m_ShadowDistanceProp.floatValue = Mathf.Max(0.0f, EditorGUILayout.FloatField(Styles.shadowDistance, m_ShadowDistanceProp.floatValue)); CoreEditorUtils.DrawPopup(Styles.shadowCascades, m_ShadowCascadesProp, Styles.shadowCascadeOptions); ShadowCascades cascades = (ShadowCascades)m_ShadowCascadesProp.intValue; if (cascades == ShadowCascades.FOUR_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <Vector3>(ref m_ShadowCascade4SplitProp); } else if (cascades == ShadowCascades.TWO_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <float>(ref m_ShadowCascade2SplitProp); } EditorGUI.indentLevel--; EditorGUILayout.Space(); } bool localShadows = m_LocalShadowSupportedProp.boolValue; if (localShadows) { EditorGUILayout.LabelField(Styles.localShadowLabel); EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_LocalShadowsAtlasResolutionProp, Styles.localShadowsAtlasResolution); EditorGUI.indentLevel--; EditorGUILayout.Space(); } if (directionalShadows || localShadows) { EditorGUILayout.PropertyField(m_SoftShadowsSupportedProp, Styles.supportsSoftShadows); } EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); }
void DrawShadowSettings() { EditorGUILayout.LabelField(Styles.shadowLabel, EditorStyles.boldLabel); EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_DirectionalShadowsSupportedProp, Styles.supportsDirectionalShadows); bool directionalShadows = m_DirectionalShadowsSupportedProp.boolValue; if (directionalShadows) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_DirectionalShadowAtlasResolutionProp, Styles.directionalShadowAtlasResolution); m_ShadowDistanceProp.floatValue = Mathf.Max(0.0f, EditorGUILayout.FloatField(Styles.shadowDistance, m_ShadowDistanceProp.floatValue)); CoreEditorUtils.DrawPopup(Styles.shadowCascades, m_ShadowCascadesProp, Styles.shadowCascadeOptions); ShadowCascades cascades = (ShadowCascades)m_ShadowCascadesProp.intValue; if (cascades == ShadowCascades.FOUR_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <Vector3>(ref m_ShadowCascade4SplitProp); } else if (cascades == ShadowCascades.TWO_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <float>(ref m_ShadowCascade2SplitProp); } EditorGUI.indentLevel--; EditorGUILayout.Space(); } EditorGUILayout.PropertyField(m_LocalShadowSupportedProp, Styles.supportsLocalShadows); bool localShadows = m_LocalShadowSupportedProp.boolValue; if (localShadows) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_LocalShadowsAtlasResolutionProp, Styles.localShadowsAtlasResolution); EditorGUI.indentLevel--; EditorGUILayout.Space(); } if (directionalShadows || localShadows) { EditorGUILayout.PropertyField(m_SoftShadowsSupportedProp, Styles.supportsSoftShadows); } EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); }
void DrawStrippingSettings() { EditorGUILayout.LabelField(StrippingStyles.strippingLabel, EditorStyles.boldLabel); EditorGUI.indentLevel++; CoreEditorUtils.DrawPopup(StrippingStyles.pipelineCapabilitiesLabel, m_CustomShaderVariantStripSettingsProp, StrippingStyles.strippingOptions); if (m_CustomShaderVariantStripSettingsProp.boolValue) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_KeepAdditionalLightsProp, StrippingStyles.localLightsLabel); EditorGUILayout.PropertyField(m_KeepVertexLightsProp, StrippingStyles.vertexLightsLabel); EditorGUILayout.PropertyField(m_KeepDirectionalShadowsProp, StrippingStyles.directionalShadowsLabel); EditorGUILayout.PropertyField(m_KeepLocalShadowsProp, StrippingStyles.localShadowsLabel); EditorGUILayout.PropertyField(m_KeepSoftShadowsProp, StrippingStyles.softShadowsLabel); EditorGUI.indentLevel--; } EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); }
void DrawShadowSettings() { m_ShadowSettingsFoldout.value = EditorGUILayout.BeginFoldoutHeaderGroup(m_ShadowSettingsFoldout.value, Styles.shadowSettingsText); if (m_ShadowSettingsFoldout.value) { EditorGUI.indentLevel++; CoreEditorUtils.DrawPopup(Styles.shadowCascadesText, m_ShadowCascadesProp, Styles.shadowCascadeOptions); ShadowCascadesOption cascades = (ShadowCascadesOption)m_ShadowCascadesProp.intValue; if (cascades == ShadowCascadesOption.FourCascades) { EditorUtils.DrawCascadeSplitGUI <Vector3>(ref m_ShadowCascade4SplitProp); } else if (cascades == ShadowCascadesOption.TwoCascades) { EditorUtils.DrawCascadeSplitGUI <float>(ref m_ShadowCascade2SplitProp); } m_ShadowDepthBiasProp.floatValue = EditorGUILayout.Slider(Styles.shadowDepthBias, m_ShadowDepthBiasProp.floatValue, 0.0f, LightweightRenderPipeline.maxShadowBias); m_ShadowNormalBiasProp.floatValue = EditorGUILayout.Slider(Styles.shadowNormalBias, m_ShadowNormalBiasProp.floatValue, 0.0f, LightweightRenderPipeline.maxShadowBias); m_ShadowHWDepthOffsetProp.floatValue = EditorGUILayout.Slider(Styles.shadowHWDepthOffsetContent, m_ShadowHWDepthOffsetProp.floatValue, 0.0f, LightweightRenderPipeline.maxShadowBias); m_ShadowHWDepthSlopeProp.floatValue = EditorGUILayout.Slider(Styles.shadowHWDepthSlopeContent, m_ShadowHWDepthSlopeProp.floatValue, 0.0f, LightweightRenderPipeline.maxShadowBias); EditorGUILayout.PropertyField(m_SoftShadowsSupportedProp, Styles.supportsSoftShadows); EditorGUILayout.PropertyField(m_SSShadowsDownsampleSupportedProp, Styles.supportSMDownsample); if (m_SSShadowsDownsampleSupportedProp.boolValue) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_SSShadowsDownsampleSizeProp, Styles.SMDownsampleSize); EditorGUI.indentLevel--; } EditorGUILayout.PropertyField(m_SemiTransShadowsSupportedProp, Styles.supportSemitransShadows); EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); } EditorGUILayout.EndFoldoutHeaderGroup(); }
void DrawShadowSettings() { shadowsSettingsFoldout = EditorGUILayout.Foldout(shadowsSettingsFoldout, Styles.shadowLabel, true); if (shadowsSettingsFoldout) { // Directional Shadows EditorGUI.BeginDisabledGroup(!m_DirectionalShadowsSupportedProp.boolValue); EditorGUI.indentLevel++; EditorGUILayout.LabelField(Styles.directionalShadowLabel); EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_DirectionalShadowAtlasResolutionProp, Styles.directionalShadowAtlasResolution); m_ShadowDistanceProp.floatValue = Mathf.Max(0.0f, EditorGUILayout.FloatField(Styles.shadowDistance, m_ShadowDistanceProp.floatValue)); CoreEditorUtils.DrawPopup(Styles.shadowCascades, m_ShadowCascadesProp, Styles.shadowCascadeOptions); ShadowCascades cascades = (ShadowCascades)m_ShadowCascadesProp.intValue; if (cascades == ShadowCascades.FOUR_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <Vector3>(ref m_ShadowCascade4SplitProp); } else if (cascades == ShadowCascades.TWO_CASCADES) { CoreEditorUtils.DrawCascadeSplitGUI <float>(ref m_ShadowCascade2SplitProp); } EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); // Local Shadows EditorGUI.BeginDisabledGroup(!m_LocalShadowSupportedProp.boolValue); EditorGUILayout.LabelField(Styles.localShadowLabel); EditorGUI.indentLevel++; EditorGUILayout.PropertyField(m_LocalShadowsAtlasResolutionProp, Styles.localShadowsAtlasResolution); EditorGUI.indentLevel--; EditorGUI.indentLevel--; EditorGUI.EndDisabledGroup(); } }
void DrawLightingSettings() { m_LightingSettingsFoldout = EditorGUILayout.Foldout(m_LightingSettingsFoldout, Styles.lightingSettingsText); if (m_LightingSettingsFoldout) { EditorGUI.indentLevel++; // Main Light bool disableGroup = false; EditorGUI.BeginDisabledGroup(disableGroup); CoreEditorUtils.DrawPopup(Styles.mainLightRenderingModeText, m_MainLightRenderingModeProp, Styles.mainLightOptions); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel++; disableGroup |= !m_MainLightRenderingModeProp.boolValue; bool mcDisableGroup = disableGroup; bool dsmDisableGroup = disableGroup; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_MainLightShadowsSupportedProp, Styles.supportsMainLightShadowsText); EditorGUI.EndDisabledGroup(); disableGroup |= !m_MainLightShadowsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_MainLightShadowmapResolutionProp, Styles.mainLightShadowmapResolutionText); EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(mcDisableGroup); EditorGUILayout.PropertyField(m_MainCharacterShadowsSupportedProp, Styles.supportsMainCharacterShadowsText); EditorGUI.EndDisabledGroup(); mcDisableGroup |= !m_MainCharacterShadowsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(mcDisableGroup); EditorGUILayout.PropertyField(m_MainCharacterShadowmapResolutionProp, Styles.mainCharacterShadowmapResolutionText); EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(dsmDisableGroup); EditorGUILayout.PropertyField(_DeepShadowMapsSupportedProp, Styles.supportsDeepShadowMapsText); EditorGUI.EndDisabledGroup(); dsmDisableGroup |= !_DeepShadowMapsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(dsmDisableGroup); EditorGUILayout.PropertyField(_DeepShadowMapsSizeProp, Styles.deepShadowMapsSizeText); EditorGUILayout.PropertyField(_DeepShadowMapsDepthProp, Styles.deepShadowMapsDepthText); EditorGUILayout.PropertyField(_DeepShadowMapsBlurOffsetProp, Styles.deepShadowMapsBlurOffsetText); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; EditorGUILayout.Space(); // Additional light selectedLightRenderingMode = (LightRenderingMode)EditorGUILayout.EnumPopup(Styles.addditionalLightsRenderingModeText, selectedLightRenderingMode); m_AdditionalLightsRenderingModeProp.intValue = (int)selectedLightRenderingMode; EditorGUI.indentLevel++; disableGroup = m_AdditionalLightsRenderingModeProp.intValue == (int)LightRenderingMode.Disabled; EditorGUI.BeginDisabledGroup(disableGroup); m_AdditionalLightsPerObjectLimitProp.intValue = EditorGUILayout.IntSlider(Styles.perObjectLimit, m_AdditionalLightsPerObjectLimitProp.intValue, 0, k_MaxSupportedPerObjectLights); EditorGUI.EndDisabledGroup(); disableGroup |= (m_AdditionalLightsPerObjectLimitProp.intValue == 0 || m_AdditionalLightsRenderingModeProp.intValue != (int)LightRenderingMode.PerPixel); EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_AdditionalLightShadowsSupportedProp, Styles.supportsAdditionalShadowsText); EditorGUI.EndDisabledGroup(); disableGroup |= !m_AdditionalLightShadowsSupportedProp.boolValue; EditorGUI.BeginDisabledGroup(disableGroup); EditorGUILayout.PropertyField(m_AdditionalLightShadowmapResolutionProp, Styles.additionalLightsShadowmapResolution); EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; EditorGUI.indentLevel--; EditorGUILayout.Space(); EditorGUILayout.Space(); } }