OpenGL ES 3.0学习实践
android平台下OpenGL ES 3.0从零开始
android平台下OpenGL ES 3.0绘制纯色背景
android平台下OpenGL ES 3.0绘制圆点、直线和三角形
android平台下OpenGL ES 3.0绘制彩色三角形
android平台下OpenGL ES 3.0从矩形中看矩阵和正交投影
android平台下OpenGL ES 3.0着色语言基础知识(上)
android平台下OpenGL ES 3.0着色语言基础知识(下)
android平台下OpenGL ES 3.0实例详解顶点属性、顶点数组
android平台下OpenGL ES 3.0实例详解顶点缓冲区对象(VBO)和顶点数组对象(VAO)
android平台下OpenGL ES 3.0绘制立方体的几种方式
android平台下OpenGL ES 3.0实现2D纹理贴图显示bitmap
目录
新建SimpleRenderer
定义圆点坐标
分配本地内存
顶点着色器
片段着色器
编译和加载着色器
设置视口
清除颜色缓冲区
绘制圆点
绘制直线
绘制三角形
新建SimpleRenderer
public class SimpleRenderer implements GLSurfaceView.Renderer
定义圆点坐标
private float[] vertexPoints = new float[]{
0.0f, 0.5f, 0.0f,
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f
};
理想状态下的屏幕坐标系,我们定义的就是下图中的三角形的三个顶点。
分配本地内存
因为OpenGL作为本地系统库运行在系统中,虚拟机需要分配本地内存,供其存取。
public SimpleRenderer() {
//分配内存空间,每个浮点型占4字节空间
vertexBuffer = ByteBuffer.allocateDirect(vertexPoints.length