Я пытаюсь использовать GLKTextureLoader для загрузки текстуры в пользовательский шейдер, написанный на GLSL. Он прекрасно загружает все биты вершинного и фрагментного шейдеров, но когда я пытаюсь загрузить текстуру, он закрывается.
Вот как я пытаюсь это сделать:
do {
guard let CGImage = #imageLiteral(resourceName: "image01").cgImage else { print("no CGImage"); return nil}
let texture = try GLKTextureLoader.texture(with: CGImage, options: nil)
} catch {
print("Texture not loaded", (error))
}
кажется, что он получает CGImage, но не работает на бите GLKTextureLoader.texture
.
Вот ошибка:
Error Domain=GLKTextureLoaderErrorDomain Code=17 "(null)" UserInfo={GLKTextureLoaderErrorKey=Invalid EAGL context}
Я пытался регистрировать ошибки GL с NSLog("GL Error = %u", glGetError());
, но это просто дает мне GL Error = 0
Это первый настоящий проект, который я пробую с помощью swift, есть что-то очевидное, что я упускаю? Или смешивать ARKit с шейдерами GLSL просто невозможно?