glBindFramebufferOESじゃない?
framework/base/opengl/libs/EGL/egl.cppにエラーメッセージを表示するコードが含まれています。
これはライブラリ libagl.soもしくは libhgl.soから指定のシンボルの関数を探し出そうとして、見つからない場合に上記のエラーメッ
セージを表示させます。
framework/base/opengl/libaglのコードから glで始まる関数を検索してみた所、
glBindFramebufferOESは見つかりませんでした。
--
な
On 11月17日, 午後7:57, Ring <
music6...@gmail.com> wrote:
> こんにちは
>
> Native側でOpenGLを使用して描画しているのですが、表示中に以下のようなエラーが出続けています。
>
> 11-17 19:43:35.477: ERROR/libEGL(716): called unimplemented OpenGL ES
> API
> 11-17 19:43:35.494: ERROR/libEGL(716): called unimplemented OpenGL ES
> API
> 11-17 19:43:35.511: ERROR/libEGL(716): called unimplemented OpenGL ES
> API
> 11-17 19:43:35.527: ERROR/libEGL(716): called unimplemented OpenGL ES
> API
>
> GLSurfaceView.RendererのonDrawFrame内で以下の処理を呼び出しています。
>
> #define GL_FRAMEBUFFER_OES 0x8D40
>
> GLuint defaultFramebuffer = 0;
> GLuint colorRenderbuffer = 0;
> GLuint backingWidth = 320;
> GLuint backingHeight = 480;
>
> void Java_com_yn_test_Native_draw(JNIEnv *env, jclass thiz)
> {
> static const GLfloat squareVertices[] = {
> -0.5f, -0.33f,
> 0.5f, -0.33f,
> -0.5f, 0.33f,
> 0.5f, 0.33f,
> };
>
> static const GLubyte squareColors[] = {
> 255, 255, 0, 255,
> 0, 255, 255, 255,
> 0, 0, 0, 0,
> 255, 0, 255, 255,
> };
>
> static float transY = 0.0f;
>
> glBindFramebufferOES(GL_FRAMEBUFFER_OES, defaultFramebuffer);
> glViewport(0, 0, backingWidth, backingHeight);
>
> glMatrixMode(GL_PROJECTION);
> glLoadIdentity();
> glMatrixMode(GL_MODELVIEW);
> glLoadIdentity();
> glTranslatef(0.0f, (GLfloat)(sinf(transY)/2.0f), 0.0f);
> transY += 0.075f;
>
> glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
> glClear(GL_COLOR_BUFFER_BIT);
>
> glVertexPointer(2, GL_FLOAT, 0, squareVertices);
> glEnableClientState(GL_VERTEX_ARRAY);
> glColorPointer(4, GL_UNSIGNED_BYTE, 0, squareColors);
> glEnableClientState(GL_COLOR_ARRAY);
>
> glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
>
> }
>
> 表示は正常なのですが、どこにエラーの出る要素があるのか検討がつかなくて困っています。
> どなたか分かる方がいらしたら、解答を頂けるとたすかります。