diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs index 84ecc9dba35..8c1b0360d08 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs @@ -617,6 +617,7 @@ static void DrawLightIntensityGUILayout(SerializedHDLight serialized, Editor own var lightType = serialized.type; var lightUnit = serialized.lightUnit.GetEnumValue(); + k_LightUnitSliderUIDrawer.SetSerializedObject(serialized.serializedObject); k_LightUnitSliderUIDrawer.Draw(lightType, lightUnit, serialized.intensity, lightUnitSliderRect, serialized, owner); // We use PropertyField to draw the value to keep the handle at left of the field diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs index af0e7646113..32aeb3c1e2f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs @@ -12,15 +12,24 @@ namespace UnityEditor.Rendering.HighDefinition /// class LightUnitSlider { + protected SerializedObject m_SerializedObject; + static class SliderConfig { - public const float k_IconSeparator = 6; + public const float k_IconSeparator = 0; public const float k_MarkerWidth = 2; public const float k_MarkerHeight = 2; public const float k_MarkerTooltipScale = 4; public const float k_ThumbTooltipSize = 10; } + protected static class SliderStyles + { + public static GUIStyle k_IconButton = new GUIStyle("IconButton"); + public static GUIStyle k_TemperatureBorder = new GUIStyle("ColorPickerSliderBackground"); + public static GUIStyle k_TemperatureThumb = new GUIStyle("ColorPickerHorizThumb"); + } + protected readonly LightUnitSliderUIDescriptor m_Descriptor; public LightUnitSlider(LightUnitSliderUIDescriptor descriptor) @@ -28,6 +37,11 @@ public LightUnitSlider(LightUnitSliderUIDescriptor descriptor) m_Descriptor = descriptor; } + public void SetSerializedObject(SerializedObject serialized) + { + m_SerializedObject = serialized; + } + public virtual void Draw(Rect rect, SerializedProperty value) { BuildRects(rect, out var sliderRect, out var iconRect); @@ -52,7 +66,7 @@ public virtual void Draw(Rect rect, SerializedProperty value) var levelIconContent = level.content; var levelRange = level.value; - DoIcon(iconRect, levelIconContent, levelRange.y); + DoIcon(iconRect, levelIconContent, value, levelRange.y); var thumbValue = value.floatValue; var thumbPosition = GetPositionOnSlider(thumbValue, level.value); @@ -129,14 +143,44 @@ void DoSliderMarker(Rect rect, float position, float value, string tooltip) EditorGUI.LabelField(markerTooltipRect, GetLightUnitTooltip(tooltip, value, m_Descriptor.unitName)); } - void DoIcon(Rect rect, GUIContent icon, float range) + void DoIcon(Rect rect, GUIContent icon, SerializedProperty value, float range) { + // Draw the context menu feedback before the icon + GUI.Box(rect, GUIContent.none, SliderStyles.k_IconButton); + var oldColor = GUI.color; GUI.color = Color.clear; EditorGUI.DrawTextureTransparent(rect, icon.image); GUI.color = oldColor; EditorGUI.LabelField(rect, GetLightUnitTooltip(icon.tooltip, range, m_Descriptor.unitName)); + + // Handle events for context menu + var e = Event.current; + if (e.type == EventType.MouseDown && e.button == 0) + { + if (rect.Contains(e.mousePosition)) + { + var menuPosition = rect.position + rect.size; + DoContextMenu(menuPosition, value); + e.Use(); + } + } + } + + void DoContextMenu(Vector2 pos, SerializedProperty value) + { + var menu = new GenericMenu(); + + foreach (var preset in m_Descriptor.valueRanges) + { + // Indicate a checkmark if the value is within this preset range. + var isInPreset = CurrentRange(value.floatValue).value == preset.value; + + menu.AddItem(EditorGUIUtility.TrTextContent(preset.content.tooltip), isInPreset, () => SetValueToPreset(value, preset)); + } + + menu.DropDown(new Rect(pos, Vector2.zero)); } void DoThumbTooltip(Rect rect, float position, float value, string tooltip) @@ -157,6 +201,16 @@ void DoThumbTooltip(Rect rect, float position, float value, string tooltip) EditorGUI.LabelField(thumbMarkerRect, GetLightUnitTooltip(tooltip, value, m_Descriptor.unitName)); } + protected virtual void SetValueToPreset(SerializedProperty value, LightUnitSliderUIRange preset) + { + m_SerializedObject?.Update(); + + // Set the value to the average of the preset range. + value.floatValue = preset.presetValue; + + m_SerializedObject?.ApplyModifiedProperties(); + } + protected virtual GUIContent GetLightUnitTooltip(string baseTooltip, float value, string unit) { var formatValue = value < 100 ? $"{value:n}" : $"{value:n0}"; @@ -195,55 +249,6 @@ protected virtual float GetPositionOnSlider(float value) } } - /// - /// Formats the provided descriptor into an exponential slider with contextual slider markers, tooltips, and icons. - /// - class ExponentialLightUnitSlider : LightUnitSlider - { - private Vector3 m_ExponentialConstraints; - - /// - /// Exponential slider modeled to set a f(0.5) value. - /// ref: https://stackoverflow.com/a/17102320 - /// - void PrepareExponentialConstraints(float lo, float mi, float hi) - { - float x = lo; - float y = mi; - float z = hi; - - // https://www.desmos.com/calculator/yx2yf4huia - m_ExponentialConstraints.x = ((x * z) - (y * y)) / (x - (2 * y) + z); - m_ExponentialConstraints.y = ((y - x) * (y - x)) / (x - (2 * y) + z); - m_ExponentialConstraints.z = 2 * Mathf.Log((z - y) / (y - x)); - } - - float ValueToSlider(float x) => Mathf.Log((x - m_ExponentialConstraints.x) / m_ExponentialConstraints.y) / m_ExponentialConstraints.z; - float SliderToValue(float x) => m_ExponentialConstraints.x + m_ExponentialConstraints.y * Mathf.Exp(m_ExponentialConstraints.z * x); - - public ExponentialLightUnitSlider(LightUnitSliderUIDescriptor descriptor) : base(descriptor) - { - var halfValue = 300; // TODO: Compute the median - PrepareExponentialConstraints(m_Descriptor.sliderRange.x, halfValue, m_Descriptor.sliderRange.y); - } - - protected override float GetPositionOnSlider(float value) - { - return ValueToSlider(value); - } - - protected override void DoSlider(Rect rect, SerializedProperty value, Vector2 sliderRange) - { - value.floatValue = ExponentialSlider(rect, value.floatValue); - } - - float ExponentialSlider(Rect rect, float value) - { - var internalValue = GUI.HorizontalSlider(rect, ValueToSlider(value), 0f, 1f); - return SliderToValue(internalValue); - } - } - /// /// Formats the provided descriptor into a piece-wise linear slider with contextual slider markers, tooltips, and icons. /// @@ -377,6 +382,7 @@ public PunctualLightUnitSlider(LightUnitSliderUIDescriptor descriptor) : base(de private SerializedHDLight m_Light; private Editor m_Editor; private LightUnit m_Unit; + private bool m_SpotReflectorEnabled; // Note: these should be in sync with LightUnit private static string[] k_UnitNames = @@ -393,6 +399,9 @@ public void Setup(LightUnit unit, SerializedHDLight light, Editor owner) m_Unit = unit; m_Light = light; m_Editor = owner; + + // Cache the spot reflector state as we will need to revert back to it after treating the slider as point light. + m_SpotReflectorEnabled = light.enableSpotReflector.boolValue; } public override void Draw(Rect rect, SerializedProperty value) @@ -403,6 +412,10 @@ public override void Draw(Rect rect, SerializedProperty value) base.Draw(rect, value); value.floatValue = LumenToUnit(value.floatValue); + + // Must apply properties here to ensure proper undo/redo functionality. + // The reason this is likely necessary is due to how we handle the internal unit conversion into lumen. + m_Light.Apply(); } protected override GUIContent GetLightUnitTooltip(string baseTooltip, float value, string unit) @@ -419,6 +432,10 @@ float UnitToLumen(float value) if (m_Unit == LightUnit.Lumen) return value; + // Punctual slider currently does not have any regard for spot shape/reflector. + // Conversions need to happen as if light is a point, and this is the only setting that influences that. + m_Light.enableSpotReflector.boolValue = false; + return HDLightUI.ConvertLightIntensity(m_Unit, LightUnit.Lumen, m_Light, m_Editor, value); } @@ -427,45 +444,25 @@ float LumenToUnit(float value) if (m_Unit == LightUnit.Lumen) return value; - if (m_Light.type == HDLightType.Spot && - m_Unit != LightUnit.Lumen && - m_Light.enableSpotReflector.boolValue) - { - // Note: When reflector is flagged, the util conversion for Lumen -> Candela will actually force re-use - // the serialized intensity, which is not what we want in this case. Because of this, we re-use the formulation - // in HDAdditionalLightData to correctly compute the intensity for spot reflector. - return ConvertLightIntensitySpotAngleLumenToUnit(value); - } + // Once again temporarily disable reflector in case we called this for tooltip or context menu preset. + m_Light.enableSpotReflector.boolValue = false; + + value = HDLightUI.ConvertLightIntensity(LightUnit.Lumen, m_Unit, m_Light, m_Editor, value); + + // Restore the state of spot reflector on the light. + m_Light.enableSpotReflector.boolValue = m_SpotReflectorEnabled; - return HDLightUI.ConvertLightIntensity(LightUnit.Lumen, m_Unit, m_Light, m_Editor, value); + return value; } - // This code is re-used from HDAdditionalLightData - float ConvertLightIntensitySpotAngleLumenToUnit(float value) + protected override void SetValueToPreset(SerializedProperty value, LightUnitSliderUIRange preset) { - var spotLightShape = m_Light.spotLightShape.GetEnumValue(); - var spotAngle = m_Light.settings.spotAngle.floatValue; - var aspectRatio = m_Light.aspectRatio.floatValue; + m_Light?.Update(); - // If reflector is enabled all the lighting from the sphere is focus inside the solid angle of current shape - if (spotLightShape == SpotLightShape.Cone) - { - value = LightUtils.ConvertSpotLightLumenToCandela(value, spotAngle * Mathf.Deg2Rad, true); - } - else if (spotLightShape == SpotLightShape.Pyramid) - { - float angleA, angleB; - LightUtils.CalculateAnglesForPyramid(aspectRatio, spotAngle * Mathf.Deg2Rad, out angleA, out angleB); - - value = LightUtils.ConvertFrustrumLightLumenToCandela(value, angleA, angleB); - } - else // Box shape, fallback to punctual light. - { - value = LightUtils.ConvertPointLightLumenToCandela(value); - } + // Convert to the actual unit value. + value.floatValue = LumenToUnit(preset.presetValue); - // Units so far are in Candela now, last step is to get it in terms of the actual unit. - return HDLightUI.ConvertLightIntensity(LightUnit.Candela, m_Unit, m_Light, m_Editor, value); + m_Light?.Apply(); } } @@ -474,10 +471,48 @@ float ConvertLightIntensitySpotAngleLumenToUnit(float value) /// class TemperatureSlider : LightUnitSlider { + private Vector3 m_ExponentialConstraints; + private LightEditor.Settings m_Settings; private static Texture2D s_KelvinGradientTexture; + /// + /// Exponential slider modeled to set a f(0.5) value. + /// ref: https://stackoverflow.com/a/17102320 + /// + void PrepareExponentialConstraints(float lo, float mi, float hi) + { + // float x = lo; + // float y = mi; + // float z = hi; + // + // // https://www.desmos.com/calculator/yx2yf4huia + // m_ExponentialConstraints.x = ((x * z) - (y * y)) / (x - (2 * y) + z); + // m_ExponentialConstraints.y = ((y - x) * (y - x)) / (x - (2 * y) + z); + // m_ExponentialConstraints.z = 2 * Mathf.Log((z - y) / (y - x)); + + // Warning: These are the coefficients for a system of equation fit for a continuous, monotonic curve that fits a f(0.44) value. + // f(0.44) is required instead of f(0.5) due to the location of the white in the temperature gradient texture. + // The equation is solved to get the coefficient for the following constraint for low, mid, hi: + // f(0) = 1500 + // f(0.44) = 6500 + // f(1.0) = 20000 + // If for any reason the constraints are changed, then the function must be refit and the new coefficients found. + // Note that we can't re-use the original PowerSlider instead due to how it forces a text field, which we don't want in this case. + m_ExponentialConstraints.x = -3935.53965427f; + m_ExponentialConstraints.y = 5435.53965427f; + m_ExponentialConstraints.z = 1.48240556f; + } + + protected float ValueToSlider(float x) => Mathf.Log((x - m_ExponentialConstraints.x) / m_ExponentialConstraints.y) / m_ExponentialConstraints.z; + protected float SliderToValue(float x) => m_ExponentialConstraints.x + m_ExponentialConstraints.y * Mathf.Exp(m_ExponentialConstraints.z * x); + + protected override float GetPositionOnSlider(float value, Vector2 valueRange) + { + return ValueToSlider(value); + } + static Texture2D GetKelvinGradientTexture(LightEditor.Settings settings) { if (s_KelvinGradientTexture == null) @@ -495,13 +530,27 @@ static Texture2D GetKelvinGradientTexture(LightEditor.Settings settings) return s_KelvinGradientTexture; } - public TemperatureSlider(LightUnitSliderUIDescriptor descriptor) : base(descriptor) {} + public TemperatureSlider(LightUnitSliderUIDescriptor descriptor) : base(descriptor) + { + var halfValue = 6500; + PrepareExponentialConstraints(m_Descriptor.sliderRange.x, halfValue, m_Descriptor.sliderRange.y); + } public void Setup(LightEditor.Settings settings) { m_Settings = settings; } + // The serialized property for color temperature is stored in the build-in light editor, and we need to use this object to apply the update. + protected override void SetValueToPreset(SerializedProperty value, LightUnitSliderUIRange preset) + { + m_Settings.Update(); + + base.SetValueToPreset(value, preset); + + m_Settings.ApplyModifiedProperties(); + } + protected override void DoSlider(Rect rect, SerializedProperty value, Vector2 sliderRange) { SliderWithTextureNoTextField(rect, value, sliderRange, m_Settings); @@ -512,9 +561,17 @@ void SliderWithTextureNoTextField(Rect rect, SerializedProperty value, Vector2 r { GUI.DrawTexture(rect, GetKelvinGradientTexture(settings)); - var sliderBorder = new GUIStyle("ColorPickerSliderBackground"); - var sliderThumb = new GUIStyle("ColorPickerHorizThumb"); - value.floatValue = GUI.HorizontalSlider(rect, value.floatValue, range.x, range.y, sliderBorder, sliderThumb); + EditorGUI.BeginChangeCheck(); + + // Draw the exponential slider that fits 6500K to the white point on the gradient texture. + var internalValue = GUI.HorizontalSlider(rect, ValueToSlider(value.floatValue), 0f, 1f, SliderStyles.k_TemperatureBorder, SliderStyles.k_TemperatureThumb); + + // Map the value back into kelvin. + value.floatValue = SliderToValue(internalValue); + + // Round to nearest since so much precision is not necessary for kelvin while sliding. + if (EditorGUI.EndChangeCheck()) + value.floatValue = Mathf.Round(value.floatValue); } } @@ -540,6 +597,16 @@ static LightUnitSliderUIDrawer() k_TemperatureSlider = new TemperatureSlider(LightUnitSliderDescriptors.TemperatureDescriptor); } + // Need to cache the serialized object on the slider, to add support for the preset selection context menu (need to apply changes to serialized) + // TODO: This slider drawer is getting kind of bloated. Break up the implementation into where it is actually used? + public void SetSerializedObject(SerializedObject serializedObject) + { + k_DirectionalLightUnitSlider.SetSerializedObject(serializedObject); + k_PunctualLightUnitSlider.SetSerializedObject(serializedObject); + k_ExposureSlider.SetSerializedObject(serializedObject); + k_TemperatureSlider.SetSerializedObject(serializedObject); + } + public void Draw(HDLightType type, LightUnit lightUnit, SerializedProperty value, Rect rect, SerializedHDLight light, Editor owner) { using (new EditorGUI.IndentLevelScope(-EditorGUI.indentLevel)) diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSliderSettings.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSliderSettings.cs index 3e509e3d0d8..bb987eae4fe 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSliderSettings.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSliderSettings.cs @@ -42,20 +42,33 @@ public LightUnitSliderUIDescriptor(LightUnitSliderUIRange[] valueRanges, float[] struct LightUnitSliderUIRange { public LightUnitSliderUIRange(Texture2D icon, string tooltip, Vector2 value) + // If no preset value provided, then by default it is the average of the value range. + : this(icon, tooltip, value, 0.5f * (value.x + value.y)) + {} + + public LightUnitSliderUIRange(Texture2D icon, string tooltip, Vector2 value, float presetValue) { this.content = new GUIContent(icon, tooltip); this.value = value; + + Debug.Assert(presetValue > value.x && presetValue < value.y, "Preset value is outside the slider value range."); + + // Preset values are arbitrarily chosen by artist, and we must use it instead of + // deriving it automatically (ie, the value range average). + this.presetValue = presetValue; } public static LightUnitSliderUIRange CautionRange(string tooltip, float value) => new LightUnitSliderUIRange { // Load the buildin caution icon with provided tooltip. content = new GUIContent( EditorGUIUtility.TrIconContent("console.warnicon").image, tooltip), - value = new Vector2(-1, value) + value = new Vector2(-1, value), + presetValue = -1 }; public GUIContent content; public Vector2 value; + public float presetValue; } static class LightUnitSliderDescriptors @@ -71,7 +84,7 @@ static class LightUnitSliderDescriptors // Lumen public static LightUnitSliderUIDescriptor LumenDescriptor = new LightUnitSliderUIDescriptor( LightUnitValueRanges.LumenValueTable, - LightUnitSliderDistributions.LinearDistribution, + LightUnitSliderDistributions.LumenDistribution, LightUnitTooltips.k_PunctualCaution, "Lumen" ); @@ -87,8 +100,8 @@ static class LightUnitSliderDescriptors // Temperature public static LightUnitSliderUIDescriptor TemperatureDescriptor = new LightUnitSliderUIDescriptor( - LightUnitValueRanges.KelvinValueTable, - LightUnitSliderDistributions.LinearDistribution, + LightUnitValueRanges.KelvinValueTableNew, + LightUnitSliderDistributions.ExposureDistribution, LightUnitTooltips.k_TemperatureCaution, "Kelvin", false, @@ -99,18 +112,18 @@ private static class LightUnitValueRanges { public static readonly LightUnitSliderUIRange[] LumenValueTable = { - new LightUnitSliderUIRange(LightUnitIcon.ExteriorLight, LightUnitTooltips.k_PunctualExterior, new Vector2(3000, 40000)), - new LightUnitSliderUIRange(LightUnitIcon.InteriorLight, LightUnitTooltips.k_PunctualInterior, new Vector2(300, 3000)), - new LightUnitSliderUIRange(LightUnitIcon.DecorativeLight,LightUnitTooltips.k_PunctualDecorative, new Vector2(15, 300)), - new LightUnitSliderUIRange(LightUnitIcon.Candlelight, LightUnitTooltips.k_PunctualCandle, new Vector2(0, 15)), + new LightUnitSliderUIRange(LightUnitIcon.ExteriorLight, LightUnitTooltips.k_PunctualExterior, new Vector2(3000, 40000), 10000), + new LightUnitSliderUIRange(LightUnitIcon.InteriorLight, LightUnitTooltips.k_PunctualInterior, new Vector2(300, 3000), 1000), + new LightUnitSliderUIRange(LightUnitIcon.DecorativeLight,LightUnitTooltips.k_PunctualDecorative, new Vector2(15, 300), 100), + new LightUnitSliderUIRange(LightUnitIcon.Candlelight, LightUnitTooltips.k_PunctualCandle, new Vector2(0, 15), 12.5f), }; public static readonly LightUnitSliderUIRange[] LuxValueTable = { - new LightUnitSliderUIRange(LightUnitIcon.BrightSky, LightUnitTooltips.k_LuxBrightSky, new Vector2(80000, 120000)), - new LightUnitSliderUIRange(LightUnitIcon.Overcast, LightUnitTooltips.k_LuxOvercastSky, new Vector2(10000, 80000)), - new LightUnitSliderUIRange(LightUnitIcon.SunriseSunset, LightUnitTooltips.k_LuxSunriseSunset, new Vector2(1, 10000)), - new LightUnitSliderUIRange(LightUnitIcon.Moonlight, LightUnitTooltips.k_LuxMoonlight, new Vector2(0, 1)), + new LightUnitSliderUIRange(LightUnitIcon.BrightSky, LightUnitTooltips.k_LuxBrightSky, new Vector2(80000, 120000), 100000), + new LightUnitSliderUIRange(LightUnitIcon.Overcast, LightUnitTooltips.k_LuxOvercastSky, new Vector2(10000, 80000), 20000), + new LightUnitSliderUIRange(LightUnitIcon.SunriseSunset, LightUnitTooltips.k_LuxSunriseSunset, new Vector2(1, 10000), 5000), + new LightUnitSliderUIRange(LightUnitIcon.Moonlight, LightUnitTooltips.k_LuxMoonlight, new Vector2(0, 1), 0.5f), }; public static readonly LightUnitSliderUIRange[] ExposureValueTable = @@ -123,13 +136,15 @@ private static class LightUnitValueRanges new LightUnitSliderUIRange(LightUnitIcon.MoonlessNight, LightUnitTooltips.k_ExposureMoonlessNight, new Vector2(-5, 0)), }; - public static readonly LightUnitSliderUIRange[] KelvinValueTable = + public static readonly LightUnitSliderUIRange[] KelvinValueTableNew = { - new LightUnitSliderUIRange(LightUnitIcon.BlueSky, LightUnitTooltips.k_TemperatureBlueSky, new Vector2(10000, 20000)), - new LightUnitSliderUIRange(LightUnitIcon.Overcast, LightUnitTooltips.k_TemperatureCloudySky, new Vector2(6500, 10000)), - new LightUnitSliderUIRange(LightUnitIcon.DirectSunlight, LightUnitTooltips.k_TemperatureDirectSunlight, new Vector2(3500, 6500)), - new LightUnitSliderUIRange(LightUnitIcon.IntenseAreaLight, LightUnitTooltips.k_TemperatureArtificial, new Vector2(2500, 3500)), - new LightUnitSliderUIRange(LightUnitIcon.Candlelight, LightUnitTooltips.k_TemperatureCandle, new Vector2(1500, 2500)), + new LightUnitSliderUIRange(LightUnitIcon.BlueSky, LightUnitTooltips.k_TemperatureBlueSky, new Vector2(10000, 20000), 15000), + new LightUnitSliderUIRange(LightUnitIcon.Shade, LightUnitTooltips.k_TemperatureShade, new Vector2(7000, 10000), 8000), + new LightUnitSliderUIRange(LightUnitIcon.CloudySky, LightUnitTooltips.k_TemperatureCloudySky, new Vector2(6000, 7000), 6500), + new LightUnitSliderUIRange(LightUnitIcon.DirectSunlight, LightUnitTooltips.k_TemperatureDirectSunlight, new Vector2(4500, 6000), 5500), + new LightUnitSliderUIRange(LightUnitIcon.Fluorescent, LightUnitTooltips.k_TemperatureFluorescent, new Vector2(3500, 4500), 4000), + new LightUnitSliderUIRange(LightUnitIcon.IntenseAreaLight, LightUnitTooltips.k_TemperatureIncandescent, new Vector2(2500, 3500), 3000), + new LightUnitSliderUIRange(LightUnitIcon.Candlelight, LightUnitTooltips.k_TemperatureCandle, new Vector2(1500, 2500), 1900), }; } @@ -138,14 +153,14 @@ private static class LightUnitSliderDistributions // Warning: All of these values need to be kept in sync with their associated descriptor's set of value ranges. public static readonly float[] LuxDistribution = {0.0f, 0.05f, 0.5f, 0.9f, 1.0f}; - private const float LinearStep = 1 / 4f; - public static readonly float[] LinearDistribution = + private const float LumenStep = 1 / 4f; + public static readonly float[] LumenDistribution = { - 0 * LinearStep, - 1 * LinearStep, - 2 * LinearStep, - 3 * LinearStep, - 4 * LinearStep + 0 * LumenStep, + 1 * LumenStep, + 2 * LumenStep, + 3 * LumenStep, + 4 * LumenStep }; private const float ExposureStep = 1 / 6f; @@ -192,6 +207,8 @@ static Texture2D GetLightUnitIcon(string name) public static Texture2D SunriseSunset = GetLightUnitIcon("SunriseSunset"); public static Texture2D VeryBrightSun = GetLightUnitIcon("VeryBrightSun"); public static Texture2D BrightSky = GetLightUnitIcon("BrightSky"); + public static Texture2D Shade = GetLightUnitIcon("Shade"); + public static Texture2D Fluorescent = GetLightUnitIcon("Fluorescent"); } private static class LightUnitTooltips @@ -225,10 +242,12 @@ private static class LightUnitTooltips // Temperature public const string k_TemperatureBlueSky = "Blue Sky"; - public const string k_TemperatureCloudySky = "Cloudy Sky"; + public const string k_TemperatureShade = "Shade (Clear Sky)"; + public const string k_TemperatureCloudySky = "Cloudy Skylight"; public const string k_TemperatureDirectSunlight = "Direct Sunlight"; - public const string k_TemperatureArtificial = "Artificial"; - public const string k_TemperatureCandle = "Candle"; + public const string k_TemperatureFluorescent = "Fluorescent Light"; + public const string k_TemperatureIncandescent = "Incandescent Light"; + public const string k_TemperatureCandle = "Candlelight"; } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs b/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs index 39633e88811..b5b30844d5e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs @@ -224,6 +224,7 @@ void DoFixedExposureField(SerializedDataParameter fixedExposure) var sliderRect = lineRect; sliderRect.y -= EditorGUIUtility.singleLineHeight; + k_LightUnitSlider.SetSerializedObject(serializedObject); k_LightUnitSlider.DrawExposureSlider(m_FixedExposure.value, sliderRect); // GUIContent.none disables horizontal scrolling, ur TrTextContent and adjust the rect to make it work diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky.png index 296f59aa80e..d8cc03ac4ff 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky.png +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b23187b16c5dc00985edd4ae027beab6a39cf7a505b260127c320a25d41effa -size 433 +oid sha256:d34d1dca8b1a7c66d4909ac4065e2628c0b77a3f68b359f9b145959bac1cfaa1 +size 379 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky@2x.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky@2x.png index 1c446ce5aaa..93d49ffaabc 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky@2x.png +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/BlueSky@2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:495adc8cee66c377ffb0e564f888eb26c9490248da38d4d570f52d35a932bdbe -size 907 +oid sha256:6a14f7b54e52a77a862038f8072afb2c2cbe3cbc319c9d63f65a2e02c349ab2c +size 670 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent.png new file mode 100644 index 00000000000..0f78e92e07c --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f1b0e8aa3b7ff259163ed2454bf6a48f8fe2079d514d0586e331e4e446d20c7 +size 390 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent.png.meta new file mode 100644 index 00000000000..7facaed0b0c --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 52dd14d6fa6ca2d46b942c8289a898eb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent@2x.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent@2x.png new file mode 100644 index 00000000000..42b4e7cbb9f --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent@2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c2c34c217efaa1409cb8647bac96b80094ee2be26c88776330064c05c7a37b +size 657 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent@2x.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent@2x.png.meta new file mode 100644 index 00000000000..c61ffcb0b88 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Fluorescent@2x.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 81321ffad3c324c42806d47efb84d4d1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade.png new file mode 100644 index 00000000000..c10967ee3b2 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38535828d4f58ef3d7b5a28d055825a835bdd607bae757ecee93840c2fffd65d +size 330 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade.png.meta new file mode 100644 index 00000000000..2093e707704 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 7146ed2a10f80c340b4c181e2892c87a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade@2x.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade@2x.png new file mode 100644 index 00000000000..ae3c8c5136f --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade@2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44ab0e52fbd9468e53779d4b133fa352f4e95b9244abe5dce8616dda4926f2c4 +size 537 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade@2x.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade@2x.png.meta new file mode 100644 index 00000000000..378b5ba9dbc --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/Shade@2x.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 1f20ae185bcb2254a844ed304955beb3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky.png index e55815654aa..bd5fad816fd 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky.png +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8368e9f9e13756bdadedf74da8fea1314bad0d1804c89d07d75c191a5d3042e2 -size 430 +oid sha256:78249728c22e661318f6a0167031f089b3aadf93eb9c253e5ebecc3eb46695e5 +size 382 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky@2x.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky@2x.png index 9f0c98893fd..769fedf7e5b 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky@2x.png +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_BlueSky@2x.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf7b141c6675c592856e5c515fa8b1fe545884d5450f9f899d1c076cbad87420 -size 851 +oid sha256:d8e8a846bc8a402dd35a574261a8769e3c53c2944f7f877735b4a899308de359 +size 617 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent.png new file mode 100644 index 00000000000..fc36c651468 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00b401a2a5bb0105586437551fe044c32134d2ae610694400bc925fcc5286b20 +size 380 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent.png.meta new file mode 100644 index 00000000000..80bd08bff7e --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: b95665ddb99de4945b528a188a1c41c7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent@2x.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent@2x.png new file mode 100644 index 00000000000..5819e303000 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent@2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b24b3bee23ef2dc047d5028b860a0c13a39e559d20211e6885bf0f6e77b0cb6 +size 594 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent@2x.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent@2x.png.meta new file mode 100644 index 00000000000..29beedda89f --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Fluorescent@2x.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 9ed59abbb45e72140ae72a33b30ea19e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade.png new file mode 100644 index 00000000000..8842a8c31a0 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2345dace289e525d64d369c9f9e2066c4eaf899f557ad3d1daa2645f4a76a6f6 +size 323 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade.png.meta new file mode 100644 index 00000000000..1c62366e94f --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: fbe2a78a665b37a4c9ec6623f42feb59 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade@2x.png b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade@2x.png new file mode 100644 index 00000000000..a80a0b6ee8a --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade@2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e32a957e1bd02b96055b64b7fe4e113f40ae07c374269de6e7c29ec06c34d4d +size 509 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade@2x.png.meta b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade@2x.png.meta new file mode 100644 index 00000000000..f0ca0e8547e --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipelineResources/Texture/LightUnitIcons/d_Shade@2x.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 49e4a0929afd1ae4283e4657bc636f9e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: