Metal
Low level API like Vulkan and DirectX 12. It can be used on apple platforms only, so OSX and iOS.
=== Startup
MTLDevice
MTLCommandQueue
=== Memory
=== Assets
MTLBuffer
MTLTexture
MTLSamplerState
MTLRenderPipelineState
=== Binding
=== Command
MTLCommandBuffer
=== Drawing
MTLRenderPassDescriptor
MTLRenderCommandEncoder
=== Synchronize
Reference
- Metal for Developers
- Metal Programming Guide
- Metal Shading Language Guide
- Metal Framework Reference
- Apple Videos
- Working with Metal: Overview
- Working with Metal: Fundamentals
- Working with Metal: Advanced
- What's New in Metal, Part 1
- What's New in Metal, Part 2
- Metal Performance Optimization Techniques
Tutorials
- An Introduction to 3D Graphics with Metal in Swift - 2015
- iOS 8 Metal Tutorial with Swift: Part 1 and Part 2. - 2014
- iOS 8: Getting Started With Metal - 2014
- Objc.io - Metal - 2014
- The Metal Framework
Links
- About GPU Family 4 - Metal 2.0
- Metal for Game Developers - 2018
- metal shaders: luminance and color adjustments - 2018
- Underestanding PowerVR GPUs via Metal - 2015
- OS X Metal - Raw Notes - 2015
- The Race to the Metal - 2014
- Writing a Modern Metal App from Scratch: Part 1 and Part 2
- Picking and Hit-Testing in Metal - 2018
- Moving from OpenGL to Metal - 2019
- The Metal Framework
- Introduction to compute using Metal - 2019
- Introducing Metal 3
- What’s New in Metal (2019)
- Vertex Data and Vertex Descriptors
Vertex Data and Vertex Descriptors
Metal retrospective - 2016
https://zeux.io/2016/12/01/metal-retrospective/