在使用Apple的纹理导入器或我自己的时候,用软件(带有透明的bg)或Photoshop(保存为PNG)绘制的白色软边圆圈在渲染时会将其半透明颜色替换为黑色.
下面是Xcode的Metal调试器的屏幕抓取,你可以在发送到着色器之前看到纹理.
在Xcode,finder中,当放入UIImageView时,源纹理没有环.但是在UIImage - > CGContex - > MTLTexture过程(我特别考虑MTLTexture部分)的某处,透明部分变暗了.
在过去的几天里,我一直在撞墙,改变我所能做的一切,但我无法理解.
为了透明(ha),这是我的个人导入代码
import UIKit
import CoreGraphics
class MetalTexture {
    class func imageToTexture(imageNamed: String, device: MTLDevice) -> MTLTexture {
        let bytesPerPixel = 4
        let bitsPerComponent = 8
        var image = UIImage(named: imageNamed)!
        let width = Int(image.size.width)
        let height = Int(image.size.height)
        let bounds = CGRectMake(0, 0, CGFloat(width), CGFloat(height))
        var rowBytes = width * bytesPerPixel
        var colorSpace = CGColorSpaceCreateDeviceRGB()
        let context = CGBitmapContextCreate(nil, width, height, bitsPerComponent, rowBytes, colorSpace, CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue))
        CGContextClearRect(context, bounds) …