Я пытаюсь использовать текстуру для изменения данных вершин SCNPlane. Согласно документации и слайдам WWDC 2013, нужно просто указать SCNMaterialProperty, используя -setValue:forKey: на плоскости или материале. Это прекрасно работает, но только в том случае, если для свойства материала -contents установлено либо строка/URL-адрес файла изображения, либо сам объект NSImage. Я получаю соответствующим образом деформированную сетку (я устанавливаю значение Z сетки в R-канал входной текстуры).
Однако я пытаюсь использовать свои собственные данные текстуры, которые изначально генерируются из AVFoundation с некоторой обработкой изображений, выполняемой на ЦП. Я попытался предоставить его как SKTexture, создав объект MDLTexture (и все необходимые ему классы), используя GLKTextureLoader и даже перегнав данные в GLKTextureInfo. Загрузка изображения с помощью NSImage, затем извлечение NSBitmapImageRep и заполнение из него различных классов текстур также не работает. Металл не вариант, так как у меня нет достаточно современного оборудования везде, где это должно работать.
Каков наилучший способ получить данные текстуры в модификаторах шейдера SceneKit? Тот факт, что он работает с образами на диске, наводит меня на мысль, что я что-то упускаю, но не могу точно определить, что именно. class-dump также не предлагает каких-либо очевидных методов, которые мне нужно вызывать.
Большое спасибо!