Skip to content

Commit fb9eee0

Browse files
authored
Merge pull request #12 from papadanku/dev
cColor: Changed lightness changing
2 parents 7b31d1a + 6d059c4 commit fb9eee0

File tree

3 files changed

+45
-46
lines changed

3 files changed

+45
-46
lines changed

shaders/cLens.fx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
uniform float _Time < source = "timer"; >;
4040

4141
uniform bool _UseTimeSeed <
42-
ui_label = "Enable Time-Based Seed";
42+
ui_label = "Enable Time Seed";
4343
ui_type = "radio";
4444
> = true;
4545

shaders/cRaySchism.fx

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -99,28 +99,12 @@
9999
> = false;
100100
#endif
101101

102-
uniform float _GradePostExposure <
102+
uniform float _GradeLightness <
103103
ui_category = "Color Grading | Color Adjustments";
104-
ui_label = "Post Exposure";
104+
ui_label = "Post Lightness Bias";
105105
ui_type = "drag";
106106
> = 0.0;
107107

108-
uniform float _GradeContrast <
109-
ui_category = "Color Grading | Color Adjustments";
110-
ui_label = "Contrast";
111-
ui_type = "slider";
112-
ui_min = -1.0;
113-
ui_max = 1.0;
114-
> = 0.0;
115-
116-
uniform float3 _GradeColorFilter <
117-
ui_category = "Color Grading | Color Adjustments";
118-
ui_label = "Color Filter";
119-
ui_type = "color";
120-
ui_min = 0.0;
121-
ui_max = 1.0;
122-
> = 1.0;
123-
124108
uniform float _GradeHueShift <
125109
ui_category = "Color Grading | Color Adjustments";
126110
ui_label = "Hue Shift";
@@ -137,6 +121,22 @@ uniform float _GradeSaturation <
137121
ui_max = 1.0;
138122
> = 0.0;
139123

124+
uniform float _GradeContrast <
125+
ui_category = "Color Grading | Color Adjustments";
126+
ui_label = "Contrast";
127+
ui_type = "slider";
128+
ui_min = -1.0;
129+
ui_max = 1.0;
130+
> = 0.0;
131+
132+
uniform float3 _GradeColorFilter <
133+
ui_category = "Color Grading | Color Adjustments";
134+
ui_label = "Color Filter";
135+
ui_type = "color";
136+
ui_min = 0.0;
137+
ui_max = 1.0;
138+
> = 1.0;
139+
140140
uniform float _GradeTemperature <
141141
ui_category = "Color Grading | White Balance";
142142
ui_label = "Temperature";
@@ -198,55 +198,55 @@ uniform float3 _GradeMixBlue <
198198
> = float3(0.0, 0.0, 1.0);
199199

200200
uniform float3 _GradeMidtoneShadowColor <
201-
ui_category = "Color Grading | Shadows Midtones Hightlights";
201+
ui_category = "Color Grading | Shadows, Midtones, Hightlights";
202202
ui_label = "Shadow Color";
203203
ui_type = "color";
204204
ui_min = 0.0;
205205
ui_max = 1.0;
206206
> = float3(1.0, 1.0, 1.0);
207207

208208
uniform float3 _GradeMidtoneColor <
209-
ui_category = "Color Grading | Shadows Midtones Hightlights";
209+
ui_category = "Color Grading | Shadows, Midtones, Hightlights";
210210
ui_label = "Midtone Color";
211211
ui_type = "color";
212212
ui_min = 0.0;
213213
ui_max = 1.0;
214214
> = float3(1.0, 1.0, 1.0);
215215

216216
uniform float3 _GradeMidtoneHighlightColor <
217-
ui_category = "Color Grading | Shadows Midtones Hightlights";
217+
ui_category = "Color Grading | Shadows, Midtones, Hightlights";
218218
ui_label = "Highlight Color";
219219
ui_type = "color";
220220
ui_min = 0.0;
221221
ui_max = 1.0;
222222
> = float3(1.0, 1.0, 1.0);
223223

224224
uniform float _GradeMidtoneShadowStart <
225-
ui_category = "Color Grading | Shadows Midtones Hightlights";
225+
ui_category = "Color Grading | Shadows, Midtones, Hightlights";
226226
ui_label = "Shadows Start";
227227
ui_type = "slider";
228228
ui_min = 0.0;
229229
ui_max = 1.0;
230230
> = 0.0;
231231

232232
uniform float _GradeMidtoneShadowEnd <
233-
ui_category = "Color Grading | Shadows Midtones Hightlights";
233+
ui_category = "Color Grading | Shadows, Midtones, Hightlights";
234234
ui_label = "Shadows End";
235235
ui_type = "slider";
236236
ui_min = 0.0;
237237
ui_max = 1.0;
238238
> = 0.3;
239239

240240
uniform float _GradeMidtoneHighlightStart <
241-
ui_category = "Color Grading | Shadows Midtones Hightlights";
241+
ui_category = "Color Grading | Shadows, Midtones, Hightlights";
242242
ui_label = "Highlights Start";
243243
ui_type = "slider";
244244
ui_min = 0.0;
245245
ui_max = 1.0;
246246
> = 0.55;
247247

248248
uniform float _GradeMidtoneHighlightEnd <
249-
ui_category = "Color Grading | Shadows Midtones Hightlights";
249+
ui_category = "Color Grading | Shadows, Midtones, Hightlights";
250250
ui_label = "Highlights End";
251251
ui_type = "slider";
252252
ui_min = 0.0;
@@ -499,11 +499,11 @@ float4 PS_Composite(CShade_VS2PS_Quad Input) : SV_TARGET0
499499
// Apply color-grading
500500
CColor_ApplyColorGrading(
501501
BaseColor,
502-
_GradePostExposure,
503-
_GradeContrast,
504-
_GradeColorFilter,
502+
_GradeLightness,
505503
_GradeHueShift,
506504
_GradeSaturation,
505+
_GradeContrast,
506+
_GradeColorFilter,
507507
_GradeTemperature,
508508
_GradeTint,
509509
_GradeShadows,

shaders/shared/cColor.fxh

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -523,11 +523,11 @@
523523

524524
void CColor_ApplyColorGrading(
525525
inout float3 Color,
526-
float PostExposure, // [0.0, N); default = 0.0
527-
float Contrast, // [-1.0, 1.0); default = 0.0
528-
float3 ColorFilter, // [0.0, 1.0); default = 1.0
526+
float Lightness, // [0.0, N); default = 0.0
529527
float HueShift, // [-180.0, 180.0); default = 0.0
530528
float Saturation, // [-1.0, 1.0); default = 0.0
529+
float Contrast, // [-1.0, 1.0); default = 0.0
530+
float3 ColorFilter, // [0.0, 1.0); default = 1.0
531531
float Temperature, // [-1.0, 1.0); default = 0.0
532532
float Tint, // [-1.0, 1.0); default = 0.0
533533
float3 Shadows, // [0.0, 1.0); default = float3(0.5, 0.5, 0.5)
@@ -550,28 +550,18 @@
550550

551551
// Convert user-friendly uniform settings
552552
float3x3 ChannelMixMat = float3x3(MixRed, MixGreen, MixBlue);
553-
PostExposure = exp2(PostExposure);
554553
Contrast += 1.0;
555554
HueShift = (HueShift / 360.0) * CMath_GetPi();
556555
Saturation += 1.0;
557556
Temperature /= 10.0;
558557
Tint /= 10.0;
559558

560-
// Apply post exposure
561-
Color *= PostExposure;
562-
563-
// Apply contrast
564-
Color = CColor_EncodeLogC(Color);
565-
Color = (Color - ACEScc_MIDGRAY) * Contrast + ACEScc_MIDGRAY;
566-
Color = CColor_DecodeLogC(Color);
567-
Color = max(Color, 0.0);
568-
569-
// Apply color filter
570-
Color *= ColorFilter;
571-
572559
// Convert RGB to OKLab
573560
Color = CColor_GetOKLABfromRGB(Color);
574561

562+
// Apply lightness bias
563+
Color.x += Lightness;
564+
575565
// Apply temperature shift
576566
Color.z += Temperature;
577567

@@ -590,6 +580,13 @@
590580
// Convert OKLch to RGB
591581
Color = CColor_GetRGBfromOKLCH(Color);
592582

583+
// Apply color filter
584+
Color *= ColorFilter;
585+
586+
// Apply contrast
587+
Color = CColor_EncodeLogC(Color);
588+
Color = (Color - ACEScc_MIDGRAY) * Contrast + ACEScc_MIDGRAY;
589+
Color = CColor_DecodeLogC(Color);
593590
Color = max(Color, 0.0);
594591

595592
// Apply gamma-space split-toning
@@ -616,7 +613,9 @@
616613

617614
float3x3 MidtoneColorMatrix = float3x3
618615
(
619-
MidtoneShadowColor, MidtoneColor, MidtoneHightlightColor
616+
MidtoneShadowColor,
617+
MidtoneColor,
618+
MidtoneHightlightColor
620619
);
621620

622621
Color *= mul(MidtoneWeights, MidtoneColorMatrix);

0 commit comments

Comments
 (0)