我是openGL和android开发的新手,所以请原谅我,如果我的问题非常简单.
我正在尝试构建一个简单的小应用程序,它从三个EditTexts中获取用户的输入,表示RGB颜色的每个组件的0 - 100%值,以显示在GLSurfaceView中.
问题是,我需要使用openGL ES 2.0,我需要使用统一值将数据传递到着色程序中,这样一旦我开始工作,我就可以继续我真正想要实现的目标了.
在运行我编写的内容后,我可以让GLSurfaceView正确显示第一个纯色,但每当我更改任何值并调用重建着色程序中的统一插槽时,我在LogCat中出现此错误:
ERROR/libEGL(14316):调用没有当前上下文的OpenGL ES API(每个线程记录一次)
当然,GLSurfaceView仍然是最初的颜色.
我一直在寻找解决这个问题的方法,并且我可以告诉我可能需要在设置渲染器之前在某处设置EGLContext.但是,我没有在API演示中看到任何关于此的内容,我在网上找到的唯一信息是在GLSurfaceView可用之前编写的.
我是否需要设置EGLContext或者我错过了其他内容?
可能有用的其他信息:
- 使用XML文件来设置UI(据我所知,在代码中执行它没有帮助)
- 当我尝试在单独的程序中从SD卡加载新纹理时遇到同样的麻烦.我可以让第一个纹理工作正常,但当使用相同的方法加载第二个时,我得到相同的错误,没有任何变化.