1.在Activity中创建GLSurfaceView
判断设备是否支持GLES2.0
支持的话,设置EGL版本2
自定义渲染器并设置渲染器
setContentView(GLSurfaceView)
onResume和onPause中设置GLSurfaceView的生命周期
2.定义顶点和着色器
定义顶点的几维坐标系个数
使数据可以被OpenGL读取, 通过特殊java类FloatBuffer
引入OpenGL管道,已经把数据复制到了OpenGL可以存取的本地内存;在绘制图形到屏幕之前,它需要在OpenGL的管道pipeline中传递,这就需要使用着色器shader,这些着色器会告诉图形处理单元GPU如何绘制数据.
OpenGL管道子例程描述:
读取顶点数据-->>执行顶点着色器-->>组装图元-->>光栅化图元-->>执行片段着色器-->>写入帧缓冲区-->>显示在屏幕上
两种类型的着色器.
a.顶点着色器(vertex shader): 生成每个顶点的最终位置,针对每个顶点,它都会执行一次;一旦最终位置确定了,OpenGL就可以把这些可见顶点的集合组装成点,直线以及三角形.
b.片段着色器(fragment shader): 为组成点,直线或者三角形的每个片段生成最终的颜色,针对每个片段,它都会执行一次;一个片段是一个小的,单一颜色的长方形区域,类似于计算机屏幕上的一个像素.
一旦最后的颜色生成了,OpenGL就会把它们写到一块称为帧缓冲区(frame buffer)的内存块中,然后,Android会把这个帧缓冲区显示到屏幕上.
3.dai
网友评论