我可以访问CVPixelBufferRef
每一帧,并希望ChromaKey
在渲染之前对其应用过滤器。
到目前为止,我能想到的唯一解决方案是首先将像素缓冲区转换为图像。这是我仅针对 PoC 的准系统解决方案。
var cgImage: CGImage?
VTCreateCGImageFromCVPixelBuffer(pixelBuffer, nil, &cgImage)
let image = UIImage.init(cgImage: cgImage!).filterWithOperation(filter!)
获得过滤后的图像后,我将其传递给MTKView
进行绘制。
所以我的具体问题是,我可以避免将像素缓冲区转换为图像并仍然GPUImage2
用于过滤器吗?