创建一个GLSurfaceView,GLSurfaceView继承自SurfaceView,同时实现Callback,
定义一个内部类RenderRunnable 实现 Runnable,也就是其中运行了一个新开的线程
定义一个接口(非必须),实现Renderer,包括 init()方法、resize(w,h)方法、render()方法
其中render方法作用是渲染一帧
这个线程用来干嘛?
1. 初始化EGL,获取egl,获取eglDisplay,egl初始化,配置eglConfig,创建eglContext,创建eglSurface
配置eglConfig的时候主要是使用一个int数组,按这样的顺序排列:{设置项1, 值1,设置项2, 值2,设置项3, 值3,... , EGL10.EGL_NONE}
创建eglSurface的时候,需要传入eglDisplay,eglConfig还有surfaceView的Holder
2. 初始化renderer,调动renderer的resize方法,将surface的宽高传入
3. 当surfaceChanged被调用的时候,检验surface是否重新调整了宽高,如果调整了,就更新surface的宽高,然后发送一个resize事件到renderRunable当中,进行异步调节。
4. 创建一个TriangleRenderer实现Renderer接口,在其中通过static块加载triangle.so文件,写