21 package com.arm.malideveloper.openglessdk.assetloading;
23 import android.content.Context;
24 import android.opengl.GLSurfaceView;
25 import javax.microedition.khronos.egl.EGL10;
26 import javax.microedition.khronos.egl.EGLConfig;
27 import javax.microedition.khronos.egl.EGLContext;
28 import javax.microedition.khronos.egl.EGLDisplay;
29 import javax.microedition.khronos.opengles.GL10;
31 class TutorialView
extends GLSurfaceView
33 protected int redSize = 5;
34 protected int greenSize = 6;
35 protected int blueSize = 5 ;
36 protected int alphaSize = 0;
37 protected int depthSize = 16;
38 protected int sampleSize = 4;
39 protected int stencilSize = 0;
40 protected int[]
value =
new int [1];
41 public TutorialView(Context context)
44 setEGLContextFactory(
new ContextFactory());
45 setEGLConfigChooser(
new ConfigChooser());
46 setRenderer(
new Renderer());
49 private static class ContextFactory implements GLSurfaceView.EGLContextFactory
51 public EGLContext
createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig)
53 final int EGL_CONTEXT_CLIENT_VERSION = 0x3098;
54 int[] attrib_list = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE };
55 EGLContext context = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list);
59 public void destroyContext(EGL10 egl, EGLDisplay display, EGLContext context)
61 egl.eglDestroyContext(display, context);
69 final int EGL_OPENGL_ES2_BIT = 4;
72 EGL10.EGL_RED_SIZE, redSize,
73 EGL10.EGL_GREEN_SIZE, greenSize,
74 EGL10.EGL_BLUE_SIZE, blueSize,
75 EGL10.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
76 EGL10.EGL_SAMPLES, sampleSize,
77 EGL10.EGL_DEPTH_SIZE, depthSize,
78 EGL10.EGL_STENCIL_SIZE, stencilSize,
82 int[] num_config =
new int[1];
84 int numConfigs = num_config[0];
85 EGLConfig[] configs =
new EGLConfig[numConfigs];
86 egl.eglChooseConfig(display,
configAttributes, configs, numConfigs, num_config);
void onDrawFrame(GL10 gl)
GLint GLsizei GLsizei height
EGLint configAttributes[]
void onSurfaceCreated(GL10 gl, EGLConfig config)
void onSurfaceChanged(GL10 gl, int width, int height)
EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig)
EGLConfig chooseConfig(EGL10 egl, EGLDisplay display)
void destroyContext(EGL10 egl, EGLDisplay display, EGLContext context)