本系列文章是對 http://metalkit.org 上面MetalKit內(nèi)容的全面翻譯和學(xué)習(xí).
本文的寫作有三個(gè)原因:第一,告訴大家我正在將Metal代碼升級到Swift 3,然后將教程移到另一個(gè)設(shè)計(jì)更好看,域名更合適的新家園;第二,我想向你展示用不同方式來使用MetalKit,不使用MTKView子類,而是使用MTKViewDelegate.第三,我想要回答一位讀者的問題,如何畫線框圖.
我們從第4部分的代碼開始,它還是個(gè)Xcode項(xiàng)目,我們現(xiàn)在會把它轉(zhuǎn)到playground里面.這會是一個(gè)非常短的教程,你需要做的就是添加下面這行到編碼繪制命令之前:
renderEncoder.setTriangleFillMode(.lines)
就是這樣!運(yùn)行playground,欣賞線框的三角形吧.如果你不喜歡這種插值出來的顏色,在片段著色器中用一個(gè)常量顏色比如綠色來替換返回值,例如:
return half4(0.0, 1.0, 0.0, 1.0);
輸出圖像應(yīng)該是這樣:

chapter17.png
對于3D渲染,還有一件事要做,禁用背面剔除.如果你用的是第9部分的playground代碼,只需注釋掉這行:
commandEncoder.setCullMode(.back)
輸出圖像應(yīng)該是這樣:

chapter17_2.png
源代碼source code 已發(fā)布在Github上.
下次見!