├── .gitignore ├── LICENSE ├── MetalTexturedMesh.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcshareddata │ └── xcschemes │ └── MetalTexturedMesh OSX.xcscheme ├── MetalTexturedMesh ├── AAPLMathUtilities.h ├── AAPLMathUtilities.m ├── AppDelegate.swift ├── Base.lproj │ └── MainMenu.xib ├── Bridging-Header.h ├── Images.xcassets │ ├── Contents.json │ └── checkerboard.dataset │ │ ├── Contents.json │ │ └── checkerboard.png ├── Info.plist ├── Mesh.swift ├── Renderer.swift ├── Shaders.metal └── ViewController.swift ├── README.md ├── doc └── implementing-deferred-shading-in-metal.md └── img ├── deferred.png └── posts └── implementing-deferred-shading-in-metal ├── albedo-fixed.png ├── albedo.png ├── final.png ├── gbuffer-data.png ├── lights-albedo.png ├── lights-colour-albedo.png ├── lights-colour-flat.png ├── lights-normal-fake.png ├── lights-normal.png ├── lights-sphere.png ├── normal-fixed.png ├── normal.png ├── position-fixed.png ├── position.png └── stencil-buffer.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/LICENSE -------------------------------------------------------------------------------- /MetalTexturedMesh.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /MetalTexturedMesh.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /MetalTexturedMesh.xcodeproj/xcshareddata/xcschemes/MetalTexturedMesh OSX.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh.xcodeproj/xcshareddata/xcschemes/MetalTexturedMesh OSX.xcscheme -------------------------------------------------------------------------------- /MetalTexturedMesh/AAPLMathUtilities.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/AAPLMathUtilities.h -------------------------------------------------------------------------------- /MetalTexturedMesh/AAPLMathUtilities.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/AAPLMathUtilities.m -------------------------------------------------------------------------------- /MetalTexturedMesh/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/AppDelegate.swift -------------------------------------------------------------------------------- /MetalTexturedMesh/Base.lproj/MainMenu.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Base.lproj/MainMenu.xib -------------------------------------------------------------------------------- /MetalTexturedMesh/Bridging-Header.h: -------------------------------------------------------------------------------- 1 | 2 | #import "AAPLMathUtilities.h" 3 | -------------------------------------------------------------------------------- /MetalTexturedMesh/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Images.xcassets/Contents.json -------------------------------------------------------------------------------- /MetalTexturedMesh/Images.xcassets/checkerboard.dataset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Images.xcassets/checkerboard.dataset/Contents.json -------------------------------------------------------------------------------- /MetalTexturedMesh/Images.xcassets/checkerboard.dataset/checkerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Images.xcassets/checkerboard.dataset/checkerboard.png -------------------------------------------------------------------------------- /MetalTexturedMesh/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Info.plist -------------------------------------------------------------------------------- /MetalTexturedMesh/Mesh.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Mesh.swift -------------------------------------------------------------------------------- /MetalTexturedMesh/Renderer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Renderer.swift -------------------------------------------------------------------------------- /MetalTexturedMesh/Shaders.metal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/Shaders.metal -------------------------------------------------------------------------------- /MetalTexturedMesh/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/MetalTexturedMesh/ViewController.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/README.md -------------------------------------------------------------------------------- /doc/implementing-deferred-shading-in-metal.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/doc/implementing-deferred-shading-in-metal.md -------------------------------------------------------------------------------- /img/deferred.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/deferred.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/albedo-fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/albedo-fixed.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/albedo.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/final.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/gbuffer-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/gbuffer-data.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/lights-albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/lights-albedo.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/lights-colour-albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/lights-colour-albedo.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/lights-colour-flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/lights-colour-flat.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/lights-normal-fake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/lights-normal-fake.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/lights-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/lights-normal.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/lights-sphere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/lights-sphere.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/normal-fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/normal-fixed.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/normal.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/position-fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/position-fixed.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/position.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/position.png -------------------------------------------------------------------------------- /img/posts/implementing-deferred-shading-in-metal/stencil-buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sevanspowell/MetalDeferredLightingTutorial/HEAD/img/posts/implementing-deferred-shading-in-metal/stencil-buffer.png --------------------------------------------------------------------------------