本系列文章是对 http://metalkit.org 上面MetalKit内容的全面翻译和学习.
本文的写作有三个原因:第一,告诉大家我正在将Metal
代码升级到Swift 3
,然后将教程移到另一个设计更好看,域名更合适的新家园;第二,我想向你展示用不同方式来使用MetalKit
,不使用MTKView
子类,而是使用MTKViewDelegate
.第三,我想要回答一位读者的问题,如何画线框图.
我们从第4部分
的代码开始,它还是个Xcode
项目,我们现在会把它转到playground里面.这会是一个非常短的教程,你需要做的就是添加下面这行到编码绘制命令之前:
renderEncoder.setTriangleFillMode(.lines)
就是这样!运行playground,欣赏线框的三角形吧.如果你不喜欢这种插值出来的颜色,在片段着色器中用一个常量颜色比如绿色来替换返回值,例如:
return half4(0.0, 1.0, 0.0, 1.0);
输出图像应该是这样:
对于3D
渲染,还有一件事要做,禁用背面剔除.如果你用的是第9部分
的playground代码,只需注释掉这行:
commandEncoder.setCullMode(.back)
输出图像应该是这样:
源代码source code 已发布在Github上.
下次见!