I am writing this article for three reasons: first, to tell you that I am working on updating all the Metal
code to Swift 3
and then moving the tutorials to a new home with a nicer design and a proper domain name; second, I wanted to show you a different way to work with MetalKit
other than subclassing MTKView
, that is, using the MTKViewDelegate
; and third, I wanted to answer one of our readers’ question about how to draw wireframes.
Let’s start by using the code from Part 4
which is an Xcode
project but we will turn it into a playground this time. This is going to be a shockingly short tutorial but all you have to do is add the following line right before encoding the draw command:
renderEncoder.setTriangleFillMode(.lines)
That’s it! Run the playground and enjoy the wireframed triangle. If you don’t want it to have an interpolated color, in the fragment shader also replace the return line with a constant color like green, for example:
return half4(0.0, 1.0, 0.0, 1.0);
The output image should look like this:

For a 3D
rendering there is one more thing we need to do, disable the backface culling. If you’re working in the playground from Part 9
just comment out this line:
commandEncoder.setCullMode(.back)
The output image should look like this:

The source code is posted on Github
as usual.
Until next time!