在ARKit的GL着色器中使用纹理

时间:2018-06-29 09:21:13

标签: ios swift scenekit arkit

我正在尝试使用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}

我尝试用NSLog("GL Error = %u", glGetError());记录GL错误,但这只是给了我GL Error = 0

这是我正在尝试的第一个实际项目,我明显缺少什么吗?还是将ARKit与GLSL着色器混合是不可能的?

0 个答案:

没有答案