Красный фон в MetalView

#rendering #metal #metalkit

#визуализация #Металлические #металлический набор

Вопрос:

При рендеринге фигур в MetalView. Я получаю красный фон даже после изменения rpd.colorAttachments[0].clearColor = MTLClearColorMake(0,0,0, 0,0) на черный прозрачный цвет. Я визуализирую несколько объектов и вызываю метод визуализации в функции рисования. Вот пример кода переопределения функции draw(_ rect: CGRect) { super.draw(прямая)

 // circleDrawable(in: self)  update(uniformBuffer: safetyRegionUniformBuffer)  update(uniformBuffer: sideScreenOneUniformBuffer)  update(uniformBuffer: sideScreenTwoUniformBuffer)  update(uniformBuffer: SensorsUniformBuffer)  update(uniformBuffer: ConeUniformBuffer)      renderPassDescriperWithBuffers(vertexBuffer: safetyRegionVertexBuffer, indexBuffer: safetyRegionIndexBuffer, uniformBuffer: safetyRegionUniformBuffer)  renderPassDescriperWithBuffers(vertexBuffer: sideScreenOneVertexBuffer, indexBuffer: sideScreenOneIndexBuffer, uniformBuffer: sideScreenOneUniformBuffer)  renderPassDescriperWithBuffers(vertexBuffer: sideScreenTwoVertexBuffer, indexBuffer: sideScreenTwoIndexBuffer, uniformBuffer: sideScreenTwoUniformBuffer)  renderPassDescriperWithBuffers(vertexBuffer: SensorsVertexBuffer, indexBuffer: SensorsIndexBuffer, uniformBuffer: SensorsUniformBuffer)  renderPassDescriperWithBuffers(vertexBuffer: ConeVertexBuffer, indexBuffer: ConeIndexBuffer, uniformBuffer: ConeUniformBuffer)  circleBuffer(vertexBuffer: circleVertexBuffer)     }  func renderPassDescriperWithBuffers(vertexBuffer: MTLBuffer, indexBuffer: MTLBuffer, uniformBuffer: MTLBuffer){  if let rpd = currentRenderPassDescriptor,  let drawable = currentDrawable  {      rpd.colorAttachments[0].loadAction = .load  rpd.colorAttachments[0].storeAction = .store  rpd.colorAttachments[0].clearColor = MTLClearColorMake(0,0,0, 0.0)      let commandBuffer = queue!.makeCommandBuffer()  let commandEncoder = commandBuffer?.makeRenderCommandEncoder(descriptor: rpd)    commandEncoder?.setRenderPipelineState(rps)  commandEncoder?.setFrontFacing(.counterClockwise)  commandEncoder?.setCullMode(.back)  commandEncoder?.setVertexBuffer(vertexBuffer, offset: 0, index: 0)  commandEncoder?.setVertexBuffer(uniformBuffer, offset: 0, index: 1)  commandEncoder?.drawIndexedPrimitives(type: .triangle, indexCount: indexBuffer.length / MemoryLayoutlt;UInt16gt;.size, indexType: MTLIndexType.uint16, indexBuffer: indexBuffer, indexBufferOffset: 0)  commandEncoder?.endEncoding()  commandBuffer?.present(drawable)  commandBuffer?.commit()  commandBuffer?.waitUntilCompleted()  } }   

Обратитесь к скриншоту введите описание изображения здесь

Пожалуйста, вылейте свое предложение, чтобы избавиться от этого красного цвета.