Skip to content

Commit 0f7f880

Browse files
authored
Testing Scene hi-cut filter, not in materials. (#27)
Co-authored-by: higeometry <[email protected]>
1 parent 86b1fd0 commit 0f7f880

File tree

5 files changed

+17
-14
lines changed

5 files changed

+17
-14
lines changed

com.unity.toonshader/Editor/ToonEvAdjustmentCurveInspector.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public override void OnInspectorGUI()
1717
{
1818
const string labelLightAdjustment = "Toon EV Adjustment";
1919
const string labelLightAdjustmentCurve = "Curve";
20-
20+
const string labelLightHighCutFilter = "Light High-Cult Filter";
2121
#if ADJUSTMENT_CURVE_DEBUG_UI
2222
const string labelExposureMin = "Min:";
2323
const string labelExposureMax = "Max:";
@@ -60,17 +60,17 @@ public override void OnInspectorGUI()
6060
EditorGUI.EndDisabledGroup();
6161

6262
//Rect rect = GUILayoutUtility.GetRect(Screen.width, 300.0f);
63-
#if false
63+
6464
EditorGUI.BeginChangeCheck();
6565

66-
bool lightAdjustment = EditorGUILayout.Toggle(labelLightAdjustment, obj.m_LightAdjustment);
66+
bool lightFilterr = EditorGUILayout.Toggle(labelLightHighCutFilter, obj.m_ToonLightHiCutFilter);
6767
if (EditorGUI.EndChangeCheck())
6868
{
69-
Undo.RecordObject(target, "Changed Light Adjustment");
70-
obj.m_LightAdjustment = lightAdjustment;
69+
Undo.RecordObject(target, "Changed Light Hi Cut Filter");
70+
obj.m_ToonLightHiCutFilter = lightFilterr;
7171
isChanged = true;
7272
}
73-
#endif
73+
7474

7575
if ( isChanged)
7676
{

com.unity.toonshader/Runtime/HDRP/Shaders/DoubleShadeWithFeatherMainLight.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ float3 UTS_MainLight(LightLoopContext lightLoopContext, FragInputs input, int ma
7575
float3 originalLightColor = mainLightColor;
7676

7777
originalLightColor = lerp(originalLightColor, clamp(originalLightColor, ConvertFromEV100(_ToonEvAdjustmentValueMin ), ConvertFromEV100(_ToonEvAdjustmentValueMax)), _ToonEvAdjustmentCurve);
78-
float3 lightColor = lerp(max(defaultLightColor, originalLightColor), max(defaultLightColor, saturate(originalLightColor)), _Is_Filter_LightColor );
78+
float3 lightColor = lerp(max(defaultLightColor, originalLightColor), max(defaultLightColor, saturate(originalLightColor)), max(_Is_Filter_LightColor, _ToonLightHiCutFilter));
7979

8080

8181
////// Lighting:

com.unity.toonshader/Runtime/HDRP/Shaders/ShadingGrademapMainLight.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ float3 UTS_MainLightShadingGrademap(LightLoopContext lightLoopContext, FragInput
8585
float3 originalLightColor = mainLightColor.rgb;
8686

8787
originalLightColor = lerp(originalLightColor, clamp(originalLightColor, ConvertFromEV100(_ToonEvAdjustmentValueMin ), ConvertFromEV100(_ToonEvAdjustmentValueMax)), _ToonEvAdjustmentCurve);
88-
float3 lightColor = lerp(max(defaultLightColor, originalLightColor), max(defaultLightColor, saturate(originalLightColor)), _Is_Filter_LightColor );
88+
float3 lightColor = lerp(max(defaultLightColor, originalLightColor), max(defaultLightColor, saturate(originalLightColor)), max(_Is_Filter_LightColor, _ToonLightHiCutFilter));
8989

9090

9191
////// Lighting:

com.unity.toonshader/Runtime/HDRP/Shaders/UtsLightLoop.hlsl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ int eOutline = 6;
2323

2424

2525
// not in materials
26+
uniform int _ToonLightHiCutFilter;
2627
uniform int _ToonEvAdjustmentCurve;
2728
uniform float _ToonEvAdjustmentValueArray[128];
2829
uniform float _ToonEvAdjustmentValueMin;

com.unity.toonshader/Runtime/ToonEvAdjustmentCurve.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ public class ToonEvAdjustmentCurve : MonoBehaviour
2424
const string kExposureArrayPropName = "_ToonEvAdjustmentValueArray";
2525
const string kExposureMinPropName = "_ToonEvAdjustmentValueMin";
2626
const string kExposureMaxPropName = "_ToonEvAdjustmentValueMax";
27+
const string kToonLightFilterPropName = "_ToonLightHiCutFilter";
2728

28-
29-
29+
[SerializeField]
30+
internal bool m_ToonLightHiCutFilter= false;
3031

3132
[SerializeField]
3233
internal bool m_ExposureAdjustmnt = false;
@@ -105,7 +106,7 @@ void Update()
105106
Shader.SetGlobalFloat(kExposureMinPropName, m_Min);
106107
Shader.SetGlobalFloat(kExposureMaxPropName, m_Max);
107108
Shader.SetGlobalInt(kExposureAdjustmentPorpName, m_ExposureAdjustmnt ? 1 : 0);
108-
109+
Shader.SetGlobalInt(kToonLightFilterPropName, m_ToonLightHiCutFilter ? 1 : 0);
109110

110111

111112
}
@@ -155,7 +156,7 @@ void Initialize()
155156
return;
156157
#endif
157158

158-
if (m_ExposureArray == null)
159+
if (m_ExposureArray == null || m_ExposureArray.Length != kAdjustmentCurvePrecision )
159160
{
160161
m_ExposureArray = new float[kAdjustmentCurvePrecision];
161162
}
@@ -168,8 +169,9 @@ void Release()
168169
if (m_initialized)
169170
{
170171
m_ExposureArray = null;
171-
Shader.SetGlobalInt(kExposureAdjustmentPorpName, 0);
172-
}
172+
Shader.SetGlobalInt(kExposureAdjustmentPorpName, 0);
173+
Shader.SetGlobalInt(kToonLightFilterPropName, 0);
174+
}
173175

174176
m_initialized = false;
175177

0 commit comments

Comments
 (0)