{"repo":"gnikoloff/apple-metal-sketch-dojo","free":true,"listed":false,"github":"https://github.com/gnikoloff/apple-metal-sketch-dojo","clone":"git clone https://github.com/gnikoloff/apple-metal-sketch-dojo.git","description":"Graphics and animations with the Apple Metal API","language":"Swift","stars":162,"topics":["combine","metal","metalapi","swift","swiftui","computer-graphics","shaders"],"license":null,"category":"mobile-apps","readme_excerpt":"Metal Sketch Dojo Graphics and animations with the Apple Metal API Try the public beta: https://testflight.apple.com/join/neaw91ke Table of contents 1. Introduction 2. App architecture 3. \"Point Light Casters\" Demo 1. Different spheres, same underlying shaders: Metal function constants 2. Cube shadows via depth cubemaps in a single drawcall 3. Frame render graph 4. References and readings 4. \"Infinite Space\" Demo 1. Tile-Based Deferred Rendering 2. Frame render graph 3. References and readings 5. \"Apple Metal\" Demo 1. Frame render graph 6. \"Skeleton animations and cascaded shadows\" Demo 1. Physically Based Rendering 2. Skeleton animations 3. Cascaded shadow mapping (CSM) 4. Frame render graph 5. References and readings 6. Models used 1. Introduction This is my first iOS app and a playground for me to explore Swift and the Apple Metal rendering API. This project has no external libraries: all animations, physics and graphics are written from scratch. I worked on it in my spare time for almost 2 months, learning a ton about Swift, Metal and different rendering techniques in the process. For studying I used these resources (in the following order): - Hacking with Swift - Expert Swift - SwiftUI Apprentice - Metal by Tutorials Coming from web development with Javascript and WebGL / WebGPU, this project was really fun to do as my first iOS app. 2. App architecture The app is made up by two layers: 1. Very thin SwiftUI UI layer, compromising mostly of buttons and text 2. A Metal vie","default_branch":null,"files":null,"tree":[],"storefront":"/r/gnikoloff","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gnikoloff/apple-metal-sketch-dojo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}