
metal
文章平均质量分 64
Niap.pr
邮箱:niap.pr@gmail.com
展开
-
Metal开发入门(四) 绘制渐变色
本文需要在第三节的基础上,绘制一个渐变色,效果如下,首先需要恢复到第三节的代码,删除Constants,timer等。丰富Vertex结构体添加以下机构,一个字段存储位置信息,另一个字段存储颜色信息。struct Vertex { var position:float3 var color:float4}对应的,VertexBuffer也需要修改vetextBuffer = device.makeBuffer(bytes: vetices, length: vetices.原创 2021-03-29 18:58:59 · 271 阅读 · 0 评论 -
Metal开发入门(三) 绘制动画
上一节交代了如何使用gpu绘制一个三角形,这一届会利用gpu来绘制一个简单的动画#首先绘制一个矩形在上一节的基础上,如果需要绘制一个矩形,只需要在原来的verices里面多添加几个定点即可,如下图所示,第一个三角形的定点是,v0,v1,v2,第二个是v2,v3,v0。 var vetices : [Float] = [ -1,1,0, -1,-1,0, 1,-1,0, 1,-1,0, 1,1,0, -1,1,0]使用index来减少.原创 2021-03-29 16:02:22 · 657 阅读 · 0 评论 -
Metal开发入门(二)绘制三角形
GPU在绘制的时候,只会去绘制线和三角形。绘制线段比较好理解,但是为啥是三角形,因为,三角形是在二维平面中利用最少的点就能绘制出来的图形。而且,它可以很容易的切割成两个。本文就是使用Metal来绘制一个三角形Metal绘制的过程大体上分为两个部分,一个部分是在整体初始化的过程中,初始化的过程主要是编译metal文件,取得三角形定点和整体的着色函数shader,着色函数和颜色格式组成了一个叫做piplineDescriptor的对象,通过piplineDescriptor即可生成一个piplineSt.原创 2021-03-29 14:34:33 · 472 阅读 · 0 评论 -
Metal开发入门(一)Hello Metal
环境:macOS 11 iOS14 swift4 xcode12项目准备新建一个iOS项目,值得注意的是:life Cycle请选择 UIKit App Delegate,后续因为需要从UIView中集成,项目还需要做一些变化。删除 AppDelegate.swift中关于SceneDeleagete的相关函数,添加一个成员变量window类型为UIWindow。删除info.plist中关于Scene Manifest的配置,添加一个storyboard。命名为main.storyboard,.原创 2021-03-29 09:13:45 · 1470 阅读 · 1 评论