更改CAMetalLayer背景颜色

时间:2016-06-22 13:25:10

标签: objective-c swift colors background metal

我的CAMetalLayer背景颜色为黑色,即使我将新颜色指定为backgroundColor属性。

我错过了什么吗?谢谢!

链接到原始项目:

https://github.com/audiokit/MetalParticles

2 个答案:

答案 0 :(得分:1)

这个项目采用了一种非常规的方法来清除每个帧的drawable纹理:它用一个与纹理大小相同的零数组(width * height * 4)替换纹理内容。随后,它编码实际绘制粒子的一些计算工作。这几乎肯定不是实现此效果的最有效方法,但如果您想进行可能有效的最小更改(而不是尝试尽可能提高代码效率),请填写[]具有所需清晰颜色的数组(接近ParticleLab.swift的第82行)。

答案 1 :(得分:0)

我已经查看了您的代码,看不到您正在设置背景颜色的地方。

金属层作为子图层添加到其中,因此您必须明确设置它。

ParticialLab类的init方法末尾添加此行,看看它是否有效。

self.backgroundColor = UIColor.redColor().CGColor