Использование текстуры в шейдере GL в ARKit - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь использовать 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 просто невозможно?

...