设置OpenGL ES环境
创建GLSurfaceView
为了显示OpenGL的图形,需要使用GLSurfaceView类,就像其他任何的View子类意义,可以将它添加到自己的Activity或Fragment之上,通过在布局xml文件中定义或者在代码中创建实例。
在这里,咱们使用GLSurfaceView作为唯一的View在咱们的Activity中,因此,为了简便,咱们在代码中创建GLSurfaceView的实例并将其传入setContentView中,这样它将会填充自己的整个手机屏幕。Activity中的onCreate方法如下:
<code class="hljs" java="">protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); GLSurfaceView view = new GLSurfaceView(this); setContentView(view);}</code>
因为媒体效果的框架仅仅支持OpenGL ES2.0及以上的版本,所以在setEGLContextClientVersion 方法中传入2;
<code avrasm="" class="hljs">view.setEGLContextClientVersion(2);</code>
为了确保GLSurfaceView仅仅在必要的时候进行渲染,咱们在setRenderMode 方法中进行设置:
<code avrasm="" class="hljs">view.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);</code>
创建Renderer
Renderer负责渲染GLSurfaceView中的内容。
创建类实现接口GLSurfaceView.Renderer,在这里咱们打算将这个类命名为EffectsRenderer,添加构造函数并覆写接口中的抽象方法,如下:
<code class="hljs" java="">public class EffectsRenderer implements GLSurfaceView.Renderer { public EffectsRenderer(Context context){ super(); } @Override public void onSurfaceCreated(GL10 gl, EGLConfig config) { } @Override public void onSurfaceChanged(GL10 gl, int width, int height) { } @Override public void onDrawFrame(GL10 gl) { }}</code>
温馨提示:答案为网友推荐,仅供参考