Почему у SCNTechnique нет свойства.library, такого как SCNProgram?

Я работаю над проектом SceneKit и использую металл для рендеринга. Я хотел применить постобработку к моей сцене с помощью SCNTechnique, но SCNTechnique требует, чтобы файлы металлических шейдеров находились в расположении библиотеки металлов по умолчанию. Это проблематично, потому что у моей программы есть собственное местоположение пакета, где расположены все ресурсы, и я не могу получить доступ к местоположению по умолчанию. Когда я запускаю свой код, SceneKit жалуется, что "не может найти библиотеку без пути", что означает, что он не нашел никаких шейдеров в расположении по умолчанию (потому что я не могу их туда поместить). Более того, не похоже, что Metal может быть встроен в строковый литерал, такой как OpenGL. Как ни странно, SCNProgram имеет свойство библиотеки, поэтому оно работает, поскольку я могу установить для этого свойства библиотеку по умолчанию, которая указывает на правильный пакет моей программы и содержит все шейдеры. Однако SCNProgram не поддерживает постобработку, только геометрию и материалы.

Может кто-нибудь пролить свет на эту проблему?

0 ответов

Другие вопросы по тегам