LiveProject/tool/MetalRenderer.swift
@@ -16,6 +16,7 @@
    private var currentPixelBuffer: CVPixelBuffer?
    private let textureCache: CVMetalTextureCache
    private var rotate:Int = 0;
    init(mtkView: MTKView) {
        guard let device = MTLCreateSystemDefaultDevice(),
@@ -63,7 +64,24 @@
        guard drawableSize.width > 0, drawableSize.height > 0 else { return }
        // 加方向修正:顺时针旋转90度
        var ciImage = CIImage(cvPixelBuffer: pixelBuffer).oriented(.right)
        var orien:CGImagePropertyOrientation = .up;
        switch self.rotate{
        case 0:
            break;
        case 90:
            orien = .right;
            break;
        case 180:
            orien = .down;
            break;
        case 270:
            orien = .left;
            break;
        default:
            orien = .up;
        }
        print(" roate = \(rotate)")
        var ciImage = CIImage(cvPixelBuffer: pixelBuffer).oriented(orien)
        // 等比缩放后居中
        let sourceExtent = ciImage.extent
@@ -99,4 +117,9 @@
        //刷新
        
    }
    func updateRotate(angle:Int){
        rotate = angle;
    }
}