一、OpenGL ES (OpenGL for Embedded Systems)简介
- 是高级3D图形应用程序编程接口;
- 是跨平台的,支持iOS、Android等;
- 是OpenGL的简化版本;
二、OpenGL ES渲染流程
OpenGL ES渲染流程
OpenGL ES的渲染主要分为:CPU和GPU
- CPU:
app代码通过OpenGL ES API,会调度OpenGL ES Framework,通过OpenGL ES client 调度 OpenGL ES server,将顶点数据等传递到GPU - GPU:
做一些图形硬件的处理,例如图元装配、光栅化等
三、图形管道
渲染管线
- 将顶点数据从内存中拷贝至顶点缓冲区
- 顶点缓冲区通过attribute通道传递至顶点着色器,
- 图元装配:即图元的连接方式,一共有9种,常用的有6种,此步骤将顶点变换为图形
- 光栅化:确定图形与屏幕对应的位置
- 纹理坐标:通过Texture通道传递到顶点着色器和片元着色器
- 片元着色器:处理对应像素点的颜色值
- 在将处理好的每个像素点的颜色值存储到帧缓存区,然后在显示器中显示
官方图形管道
- App:提供图元装配顶点信息,图片信息
- Vertex(顶点着色器):处理顶点 -- 图形变换(旋转、缩放、平移)
- Geometry(图元装配):图元装配 + 裁剪(超出屏幕部分被裁剪)
- Fragment(片元着色器):纹理处理 + 雾化处理
- Framebuffer Operation(帧缓冲区):透明度混合、模板、深度测试;最后在混合,这些操作都是在即将显示时,在帧缓冲区中完成的动作
四、顶点着色器
顶点着⾊器 :
1、着⾊器程序—描述顶点上执⾏操作的顶点着⾊器程序源代码/可执⾏⽂件
2、顶点着⾊器输⼊(属性) — ⽤顶点数组提供每个顶点的数据
3、统⼀变量(uniform)—顶点/⽚元着⾊器使⽤的不变数据
4、采样器—代表顶点着⾊器使⽤纹理的特殊统⼀变量类型
未完












网友评论