我需要将UIView中的图形图像代码转换为GLKView中的代码。
我已经在UIView中实现了30fps的2D头像播放器。但是该应用程序运行缓慢,动画不流畅。我收到了将其转换为openGL的建议。但是我没有使用openGL的经验。我已经将自定义UIView更改为GKLView。问题在于如何将CGContext的转换转换为CIContext的转换。
//上下文:CGContext
var transForm = CGAffineTransform.identity
transForm = transForm.translatedBy(x: CGFloat(dx * scale), y: CGFloat(dy * scale))
transForm = transForm.scaledBy(x: CGFloat(scale), y: CGFloat(scale))
transForm = transForm.rotated(by: CGFloat(-dang ))
transForm = transForm.scaledBy(x: CGFloat(scaleX), y: CGFloat(scaleY))
transForm = transForm.translatedBy(x: CGFloat(-ox + vdw / 2), y: CGFloat(-oy + vdh / 2))
transForm = transForm.scaledBy(x: CGFloat(fh), y: CGFloat(-fv))
context.concatenate(transForm)
let src:CGRect = CGRect(x: CGFloat(sx), y: CGFloat(sy), width: CGFloat(sw), height: CGFloat(sh))
let dest:CGRect = CGRect(x: CGFloat(-vdw/2), y: CGFloat(-vdh/2), width: CGFloat(vdw), height: CGFloat(vdh))
let cropedImage:CGImage! = img.cropping(to: src)
context.draw(cropedImage, in: dest, byTiling: false);