| | |
| | | let renderer: MetalRenderer // 自定义 Metal 渲染器,支持传入 RGBA/YUV 数据帧 |
| | | |
| | | func makeUIView(context: Context) -> MTKView { |
| | | let mtkView = MTKView() |
| | | mtkView.device = MTLCreateSystemDefaultDevice() |
| | | mtkView.framebufferOnly = false |
| | | mtkView.enableSetNeedsDisplay = false |
| | | mtkView.isPaused = true |
| | | mtkView.delegate = renderer |
| | | renderer.setup(view: mtkView) |
| | | return mtkView |
| | | let view = MTKView() |
| | | view.device = MTLCreateSystemDefaultDevice() |
| | | view.colorPixelFormat = .bgra8Unorm |
| | | view.clearColor = MTLClearColor(red: 0.2, green: 0.5, blue: 0.7, alpha: 1.0) |
| | | view.delegate = renderer |
| | | view.isPaused = false |
| | | view.enableSetNeedsDisplay = false |
| | | renderer.setup(view: view) |
| | | return view |
| | | } |
| | | |
| | | func updateUIView(_ uiView: MTKView, context: Context) {} |