[MetalKit]27-Using-MetalKit-part-17使用MetalKit17

蘋果API搬運工發表於2017-12-14

本系列文章是對 metalkit.org 上面MetalKit內容的全面翻譯和學習.

MetalKit系統文章目錄


本文的寫作有三個原因:第一,告訴大家我正在將Metal程式碼升級到Swift 3,然後將教程移到另一個設計更好看,域名更合適的新家園;第二,我想向你展示用不同方式來使用MetalKit,不使用MTKView子類,而是使用MTKViewDelegate.第三,我想要回答一位讀者的問題,如何畫線框圖.

我們從第4部分的程式碼開始,它還是個Xcode專案,我們現在會把它轉到playground裡面.這會是一個非常短的教程,你需要做的就是新增下面這行到編碼繪製命令之前:

renderEncoder.setTriangleFillMode(.lines)
複製程式碼

就是這樣!執行playground,欣賞線框的三角形吧.如果你不喜歡這種插值出來的顏色,在片段著色器中用一個常量顏色比如綠色來替換返回值,例如:

return half4(0.0, 1.0, 0.0, 1.0);
複製程式碼

輸出影像應該是這樣:

chapter17.png

對於3D渲染,還有一件事要做,禁用背面剔除.如果你用的是第9部分的playground程式碼,只需註釋掉這行:

commandEncoder.setCullMode(.back)
複製程式碼

輸出影像應該是這樣:

chapter17_2.png

原始碼source code 已釋出在Github上.

下次見!

相關文章