Мне нужно создать экземпляр MTKMeshBuffer из экземпляра MDLMeshBufferData. Ниже представлен фрагмент кода:Как вытащить данные из MDLMeshBufferData, чтобы заполнить MTKMeshBuffer?
let mdlm = MDLMesh(scnGeometry:sceneGeometry, bufferAllocator:nil)
let mdlSubmesh:MDLSubmesh = mdlm.submeshes?[ 0 ] as! MDLSubmesh
let mdlIndexBufferData:MDLMeshBufferData = mdlSubmesh.indexBuffer as! MDLMeshBufferData
let d:Data = mdlIndexBufferData.data
let mtlIndexBuffer:MTKMeshBuffer = device.makeBuffer(bytes: ???, length: ???, options:MTLResourceOptions.storageModeShared) as! MTKMeshBuffer
The ??? это биты, которые мне нужно заполнить. Может ли кто-нибудь, пожалуйста, показать мне подходящий API для извлечения битов из буфера MDL для заполнения буфера MTK?
Да, я успешно создаю сетки через методы фабрики MDLMesh - плоскость/куб/сфера/... Отлично работает. Мотивация по созданию буферов - indexBuffer и vertexBuffer с нуля связана с чтением в файле SCNScene - .scn - и извлечением из него ячеек. Ключевой API - MDLMesh (scnGeometry: sceneGeometry, bufferAllocator: MTKMeshBufferAllocator (device: device)) - сломан, и я буду подавать на него радарную ошибку. Попробуй сам. – dugla