Skip to content

Commit 8b82e0d

Browse files
committed
Single Input Color Adjustment Shaders
Began porting the OpenGL ES shaders over to Metal. Beginning with the simplest ones and will progress to the more complex ones.
1 parent 40e6193 commit 8b82e0d

18 files changed

+484
-69
lines changed

examples/Mac/FilterShowcase/FilterShowcase/FilterOperations.swift

Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,26 @@ import GPUImage
22
import QuartzCore
33

44
let filterOperations: Array<FilterOperationInterface> = [
5-
// FilterOperation (
6-
// filter:{SaturationAdjustment()},
7-
// listName:"Saturation",
8-
// titleName:"Saturation",
9-
// sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:2.0, initialValue:1.0),
10-
// sliderUpdateCallback: {(filter, sliderValue) in
11-
// filter.saturation = sliderValue
12-
// },
13-
// filterOperationType:.singleInput
14-
// ),
15-
// FilterOperation(
16-
// filter:{ContrastAdjustment()},
17-
// listName:"Contrast",
18-
// titleName:"Contrast",
19-
// sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:4.0, initialValue:1.0),
20-
// sliderUpdateCallback: {(filter, sliderValue) in
21-
// filter.contrast = sliderValue
22-
// },
23-
// filterOperationType:.singleInput
24-
// ),
5+
FilterOperation (
6+
filter:{SaturationAdjustment()},
7+
listName:"Saturation",
8+
titleName:"Saturation",
9+
sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:2.0, initialValue:1.0),
10+
sliderUpdateCallback: {(filter, sliderValue) in
11+
filter.saturation = sliderValue
12+
},
13+
filterOperationType:.singleInput
14+
),
15+
FilterOperation(
16+
filter:{ContrastAdjustment()},
17+
listName:"Contrast",
18+
titleName:"Contrast",
19+
sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:4.0, initialValue:1.0),
20+
sliderUpdateCallback: {(filter, sliderValue) in
21+
filter.contrast = sliderValue
22+
},
23+
filterOperationType:.singleInput
24+
),
2525
FilterOperation(
2626
filter:{BrightnessAdjustment()},
2727
listName:"Brightness",
@@ -46,16 +46,16 @@ let filterOperations: Array<FilterOperationInterface> = [
4646
// },
4747
// filterOperationType:.singleInput
4848
// ),
49-
// FilterOperation(
50-
// filter:{ExposureAdjustment()},
51-
// listName:"Exposure",
52-
// titleName:"Exposure",
53-
// sliderConfiguration:.enabled(minimumValue:-4.0, maximumValue:4.0, initialValue:0.0),
54-
// sliderUpdateCallback: {(filter, sliderValue) in
55-
// filter.exposure = sliderValue
56-
// },
57-
// filterOperationType:.singleInput
58-
// ),
49+
FilterOperation(
50+
filter:{ExposureAdjustment()},
51+
listName:"Exposure",
52+
titleName:"Exposure",
53+
sliderConfiguration:.enabled(minimumValue:-4.0, maximumValue:4.0, initialValue:0.0),
54+
sliderUpdateCallback: {(filter, sliderValue) in
55+
filter.exposure = sliderValue
56+
},
57+
filterOperationType:.singleInput
58+
),
5959
// FilterOperation(
6060
// filter:{RGBAdjustment()},
6161
// listName:"RGB",
@@ -66,16 +66,16 @@ let filterOperations: Array<FilterOperationInterface> = [
6666
// },
6767
// filterOperationType:.singleInput
6868
// ),
69-
// FilterOperation(
70-
// filter:{HueAdjustment()},
71-
// listName:"Hue",
72-
// titleName:"Hue",
73-
// sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:360.0, initialValue:90.0),
74-
// sliderUpdateCallback: {(filter, sliderValue) in
75-
// filter.hue = sliderValue
76-
// },
77-
// filterOperationType:.singleInput
78-
// ),
69+
FilterOperation(
70+
filter:{HueAdjustment()},
71+
listName:"Hue",
72+
titleName:"Hue",
73+
sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:360.0, initialValue:90.0),
74+
sliderUpdateCallback: {(filter, sliderValue) in
75+
filter.hue = sliderValue
76+
},
77+
filterOperationType:.singleInput
78+
),
7979
// FilterOperation(
8080
// filter:{WhiteBalance()},
8181
// listName:"White balance",
@@ -180,16 +180,16 @@ let filterOperations: Array<FilterOperationInterface> = [
180180
// return nil
181181
// })
182182
// ),
183-
// FilterOperation(
184-
// filter:{GammaAdjustment()},
185-
// listName:"Gamma",
186-
// titleName:"Gamma",
187-
// sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:3.0, initialValue:1.0),
188-
// sliderUpdateCallback: {(filter, sliderValue) in
189-
// filter.gamma = sliderValue
190-
// },
191-
// filterOperationType:.singleInput
192-
// ),
183+
FilterOperation(
184+
filter:{GammaAdjustment()},
185+
listName:"Gamma",
186+
titleName:"Gamma",
187+
sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:3.0, initialValue:1.0),
188+
sliderUpdateCallback: {(filter, sliderValue) in
189+
filter.gamma = sliderValue
190+
},
191+
filterOperationType:.singleInput
192+
),
193193
//// TODO : Tone curve
194194
// FilterOperation(
195195
// filter:{HighlightsAndShadows()},
@@ -245,14 +245,14 @@ let filterOperations: Array<FilterOperationInterface> = [
245245
// sliderUpdateCallback: nil,
246246
// filterOperationType:.singleInput
247247
// ),
248-
// FilterOperation(
249-
// filter:{ColorInversion()},
250-
// listName:"Color invert",
251-
// titleName:"Color Invert",
252-
// sliderConfiguration:.disabled,
253-
// sliderUpdateCallback: nil,
254-
// filterOperationType:.singleInput
255-
// ),
248+
FilterOperation(
249+
filter:{ColorInversion()},
250+
listName:"Color invert",
251+
titleName:"Color Invert",
252+
sliderConfiguration:.disabled,
253+
sliderUpdateCallback: nil,
254+
filterOperationType:.singleInput
255+
),
256256
// FilterOperation(
257257
// filter:{Solarize()},
258258
// listName:"Solarize",
@@ -283,14 +283,14 @@ let filterOperations: Array<FilterOperationInterface> = [
283283
// },
284284
// filterOperationType:.singleInput
285285
// ),
286-
// FilterOperation (
287-
// filter:{Luminance()},
288-
// listName:"Luminance",
289-
// titleName:"Luminance",
290-
// sliderConfiguration:.disabled,
291-
// sliderUpdateCallback:nil,
292-
// filterOperationType:.singleInput
293-
// ),
286+
FilterOperation (
287+
filter:{Luminance()},
288+
listName:"Luminance",
289+
titleName:"Luminance",
290+
sliderConfiguration:.disabled,
291+
sliderUpdateCallback:nil,
292+
filterOperationType:.singleInput
293+
),
294294
// FilterOperation(
295295
// filter:{Histogram(type:.rgb)},
296296
// listName:"Histogram",

examples/iOS/FilterShowcase/FilterShowcase.xcodeproj/project.pbxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@
193193
TargetAttributes = {
194194
BC0037B6195CA11B00B9D651 = {
195195
CreatedOnToolsVersion = 6.0;
196-
DevelopmentTeam = J2U2U9GBML;
196+
DevelopmentTeam = R7QEZYD6L8;
197197
LastSwiftMigration = 0940;
198198
ProvisioningStyle = Automatic;
199199
};
@@ -413,7 +413,7 @@
413413
CODE_SIGN_IDENTITY = "iPhone Developer";
414414
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
415415
CODE_SIGN_STYLE = Automatic;
416-
DEVELOPMENT_TEAM = J2U2U9GBML;
416+
DEVELOPMENT_TEAM = R7QEZYD6L8;
417417
INFOPLIST_FILE = FilterShowcaseSwift/Info.plist;
418418
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
419419
PRODUCT_BUNDLE_IDENTIFIER = com.redqueencoder.FilterShowcase;
@@ -431,7 +431,7 @@
431431
CODE_SIGN_IDENTITY = "iPhone Developer";
432432
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
433433
CODE_SIGN_STYLE = Automatic;
434-
DEVELOPMENT_TEAM = J2U2U9GBML;
434+
DEVELOPMENT_TEAM = R7QEZYD6L8;
435435
INFOPLIST_FILE = FilterShowcaseSwift/Info.plist;
436436
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
437437
PRODUCT_BUNDLE_IDENTIFIER = com.redqueencoder.FilterShowcase;

0 commit comments

Comments
 (0)