我正在尝试使用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着色器混合是不可能的?