# metal.graphics > A course on writing Metal shaders for SwiftUI and Apple platforms, by Victor Baro. ## Course chapters ### Foundations - [The GPU Canvas](https://metal.graphics/chapter1-gpu-canvas): How GPU shaders work as parallel functions; SwiftUI's colorEffect, distortionEffect, and layerEffect modifiers. - [The Coordinate System](https://metal.graphics/chapter2-coordinate_system): UV coordinates and normalized coordinate systems for resolution-independent effects. - [Color Mathematics](https://metal.graphics/chapter3-color-mathematics): Color manipulation with RGB vectors, gradients, mix, smoothstep, and blending. - [Introduction to Functions](https://metal.graphics/chapter4-functions-deep): Essential shader functions — step, smoothstep, mix, clamp, fract, mod. ### Core Techniques - [Procedural Patterns](https://metal.graphics/chapter5-procedural-patterns): Stripes, grids, checkerboards, tiling, and pattern composition. - [Randomness and Noise](https://metal.graphics/chapter6-randomness-noise): Hash functions, value noise, gradient noise, and fractal Brownian motion. - [Smooth Transitions](https://metal.graphics/chapter7-smooth-transitions): Easing functions, interpolation, and cubic bezier animation. - [Distance Fields](https://metal.graphics/chapter8_distance_fields): Signed Distance Functions, boolean shape combinations, anti-aliased edges. ### Advanced Techniques - [Time-Based Animation](https://metal.graphics/chapter9-time-animation): Animating shaders with time uniforms, oscillation, and wave effects. - [Advanced Texture Effects](https://metal.graphics/chapter10-texture-effects): Blur, distortion, color grading, and image processing via layerEffect. ### Appendices - [Production Techniques](https://metal.graphics/appendix-a-production-techniques): Shipping Metal shaders in production iOS apps. - [Shader Library Organization](https://metal.graphics/appendix-b-shader-library-organization): Structuring a reusable Metal shader codebase. - [Accessibility Checklist](https://metal.graphics/appendix-c-accessibility-checklist): Reduced motion, contrast, and inclusive shader design. - [Performance Reference](https://metal.graphics/appendix-d-performance-reference): Profiling and optimization for 60fps shader effects. ## Other - [MetalGraph](https://metal.graphics/app): The companion macOS and iPad app — a visual node-based editor for Metal shaders with live SwiftUI code export. - [Support](https://metal.graphics/support): FAQ and contact for the course and the MetalGraph app.