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

676 阅读1分钟

本系列文章是对 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上.

下次见!