Skip to content

jonmhobson/MetalSampleCodeSwift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MetalSampleCodeSwift

Swift ports of Apple's Objective-C / C++ sample code

Metal is a great API, but it can feel inaccessible for Swift developers due to all the samples being written in C++ or Objective-C.

Swift's more concise syntax and reduced boilerplate can also make the code a lot more readable.

Most game developers are coming from C++ so I understand why the samples are in C++ / Objective-C, but the goal of this project is to port all of the Metal samples so that App developers can also learn metal without such a large barrier to entry.

In the first pass only the macOS targets will be ported as the other targets add a lot of clutter, and the code is being tested on Apple Silicon and may not work on Intel.

Samples ported so far Original sample
Performing Calculations on a GPU link
Using Metal to Draw a View’s Contents link
Using a Render Pipeline to Render Primitives link
Synchronizing CPU and GPU Work link
Creating and Sampling Textures link
Processing a Texture in a Compute Function link
Calculating Primitive Visibility Using Depth Testing link
Customizing Render Pass Setup link
Encoding Indirect Command Buffers on the CPU link
Encoding Indirect Command Buffers on the GPU link
Managing groups of resources with argument buffers link
Adjusting the level of detail using Metal mesh shaders link
Accelerating ray tracing using Metal link
Implementing a Multistage Image Filter Using Heaps and Events link
Implementing a Multistage Image Filter Using Heaps and Fences link

About

Swift ports of Apple's Objective-C / C++ sample code

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published