首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现GLSurfaceView.Renderer问题

实现GLSurfaceView.Renderer问题
EN

Stack Overflow用户
提问于 2013-08-31 23:58:04
回答 1查看 5.5K关注 0票数 15

从本教程派生的代码

我开始了一些OpenGL-ES 2.0的安卓系统。我从以下代码中获取了以下代码:http://developer.android.com/training/graphics/opengl/environment.html#renderer

代码语言:javascript
复制
public class MyRenderer implements GLSurfaceView.Renderer {
    public void onSurfaceCreated(GL10 unused, EGLConfig config) {
        GLES20.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
    }

    public void onDrawFrame(GL10 unused) {
        GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
    }

    public void onSurfaceChanged(GL10 unused, int width, int height) {
        GLES20.glViewport(0, 0, width, height);
    }
}

我收到以下错误

错误: MyRenderer不是抽象的,也不覆盖渲染器中的抽象方法onSurfaceCreated(GL10,EGLConfig)

有人知道怎么继续吗?我需要使用MyRenderer类来传递给GLSurfaceView,因此简单地声明抽象是不可行的解决方案。有人能解释一下我的问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-01 00:21:06

找到问题了!

导入的不正确版本如下所示

代码语言:javascript
复制
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.EGLConfig;

import javax.microedition.khronos.opengles.GL10;

但是GLSurfaceView.Renderer想要javax库中的EGLConfig

下面的代码是导入的正确的版本

代码语言:javascript
复制
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;

import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;

在查看了接口实现之后,我发现了这一点。

代码语言:javascript
复制
public static interface Renderer {
    void onSurfaceCreated(javax.microedition.khronos.opengles.GL10 gl10, javax.microedition.khronos.egl.EGLConfig eglConfig);

    void onSurfaceChanged(javax.microedition.khronos.opengles.GL10 gl10, int i, int i1);

    void onDrawFrame(javax.microedition.khronos.opengles.GL10 gl10);
}
票数 46
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18553920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档