Commit df2a3101 authored by Tobias Due Munk's avatar Tobias Due Munk

Add readme section for MPS and switch to convolution

parent 3933ed71
......@@ -22,7 +22,7 @@
56AD533B2278668B005B1E87 /* EditorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AD533A2278668B005B1E87 /* EditorViewController.swift */; };
56AD534122787DEE005B1E87 /* Goat.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 56AD533C22787DED005B1E87 /* Goat.jpg */; };
56AD534222787DEE005B1E87 /* Ice.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 56AD533D22787DED005B1E87 /* Ice.jpg */; };
E3135F6623460C8000795492 /* AppendixMPS.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3135F6523460C8000795492 /* AppendixMPS.swift */; };
E3135F6623460C8000795492 /* Appendix13.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3135F6523460C8000795492 /* Appendix13.swift */; };
E32ABCCC2273092300D74B7C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32ABCCB2273092300D74B7C /* AppDelegate.swift */; };
E32ABCCE2273092300D74B7C /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32ABCCD2273092300D74B7C /* MainViewController.swift */; };
E32ABCD32273092400D74B7C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E32ABCD22273092400D74B7C /* Assets.xcassets */; };
......@@ -55,7 +55,7 @@
56AD533A2278668B005B1E87 /* EditorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorViewController.swift; sourceTree = "<group>"; };
56AD533C22787DED005B1E87 /* Goat.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Goat.jpg; sourceTree = "<group>"; };
56AD533D22787DED005B1E87 /* Ice.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Ice.jpg; sourceTree = "<group>"; };
E3135F6523460C8000795492 /* AppendixMPS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppendixMPS.swift; sourceTree = "<group>"; };
E3135F6523460C8000795492 /* Appendix13.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Appendix13.swift; sourceTree = "<group>"; };
E32ABCC82273092300D74B7C /* Photo Editor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Photo Editor.app"; sourceTree = BUILT_PRODUCTS_DIR; };
E32ABCCB2273092300D74B7C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
E32ABCCD2273092300D74B7C /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
......@@ -100,7 +100,7 @@
561112562344BCA1006900F1 /* Appendix10.swift */,
561112582344C283006900F1 /* Appendix11.swift */,
56A52E802345E8BC0061E5A3 /* Appendix12.swift */,
E3135F6523460C8000795492 /* AppendixMPS.swift */,
E3135F6523460C8000795492 /* Appendix13.swift */,
);
path = Appendices;
sourceTree = "<group>";
......@@ -258,7 +258,7 @@
56A52E832346046D0061E5A3 /* Extensions.swift in Sources */,
E3D6AE6D22B0F94A00ACADC5 /* Appendix1.swift in Sources */,
E32ABCCE2273092300D74B7C /* MainViewController.swift in Sources */,
E3135F6623460C8000795492 /* AppendixMPS.swift in Sources */,
E3135F6623460C8000795492 /* Appendix13.swift in Sources */,
E3355E46232133790093589E /* Appendix9.swift in Sources */,
E32ABCCC2273092300D74B7C /* AppDelegate.swift in Sources */,
);
......
......@@ -27,7 +27,7 @@ class EditorViewController: UIViewController {
appendix10,
appendix11,
appendix12,
appendixMPS
appendix13,
]
private var selectedEffect: Int = UserDefaults.standard.integer(forKey: "selectedEffect") {
didSet {
......
......@@ -281,6 +281,10 @@ First it copies the input source color image from the output to become the backg
When working with Accelerate’s vImage, most of the work it to convert your `CIImage`’s to and from `CGImage`’s. This appendix implements the [Apple provided example](https://developer.apple.com/documentation/accelerate/vimage/specifying_histograms_with_vimage) on how to use vImage for doing a histogram transfer.
## Appendix 13 - Metal Performance Shaders
`CIImageProcessorKernel`’s provide convenient access directly to Metal textures. Among other things, this means we can use them with [Metal Performance Shaders](https://developer.apple.com/documentation/metalperformanceshaders). In this appendix that is used to perform a large non-square convolution using `MPSImageConvolution`
# References
- [Core Image](https://developer.apple.com/documentation/coreimage) by Apple
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment