-1

我正在使用 MTKView 绘图

  override func draw(_ rect: CGRect) {
      var pixelBuffer: CVPixelBuffer?

      syncQueue.sync {
         pixelBuffer = internalPixelBuffer
      }

      guard let drawable = currentDrawable,
         let currentRenderPassDescriptor = currentRenderPassDescriptor,
         let previewPixelBuffer = pixelBuffer else {
            return
      }
      ...

   }

如果可以设置此渲染通道描述符的 loadAction 和清除颜色,我不会这样做。默认透明色是否设置为黑色?

4

2 回答 2

2

如果您愿意,您可以修改渲染通道描述符。或者,您根本不必使用它。您可以从头开始设置自己的描述符。

描述符最初设置为与MTKView. 因此,描述符的清晰颜色来自clearColor视图的属性。该属性默认为黑色,因此在某种意义上,是的,描述符的默认透明颜色为黑色。

于 2019-08-05T15:54:07.067 回答
0

是的,你可以这样检查:

let clearColor = currentRenderPassDescriptor.colorAttachments[0].clearColor
print(clearColor)
于 2019-08-05T16:22:23.133 回答