小编Fra*_*ank的帖子

为什么我"在没有当前上下文的情况下调用OpenGL ES API"?

我是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卡加载新纹理时遇到同样的麻烦.我可以让第一个纹理工作正常,但当使用相同的方法加载第二个时,我得到相同的错误,没有任何变化.

android opengl-es .net-2.0

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net-2.0 ×1

android ×1

opengl-es ×1