通过网上的OpenGl ES 2.0编程指南学习 opengl es的基础知识
Render Pipeline(流水线)
1,vertex arrays/buffer objects(获取顶点相关数据)
本阶段主要是获取顶点的基本数据,包括顶点位置,法线,顶点色,蒙皮信息,这些东西都是美术制作的资源或者程序产生的资源,统统看做基本资源
2.Vertex Shader(顶点编程)
对资源进行加工,包括蒙皮对顶点的影响,顶点坐标系变换,顶点色输出,顶点动画等,可以看做是对物体顶点的可修改阶段.
这个阶段可以接受的属性包括:Attibute,Uniforms,Samplers,Temporary Variables
输出的属性包括:Varying
3.Primitive Assembly(图元装配)
对顶点进行装配,产生可渲染得点,线,面
4.Rasterization(光栅化)
将图元信息根据屏幕进行光栅化,产生平滑的像素点信息,这些信息包括顶点基本信息,深度,模板,屏幕坐标等
5.Fragment Shader(像素编程)
对每一个光栅化后的像素点应用贴图混合,在这里合成物体基本贴图,阴影,后期等等操作
这个阶段可以接受的属性包括:Attibute,Uniforms,Samplers,Temporary Variables,Varyings
输出的属性包括:gl_FragColor
6.Per-Fragment Operations(每像素的条件筛选)
本阶段将决定像素的显示方式,将进行下列测试:
Pixel Ownership Test:像素所有权测试,产生在窗口模式下的前后窗口状态下的显示测试
Scissor Test:剪切测试,测试像素是否包含在剪切矩阵内
Stencil Test:模板测试,通过像素的模板值与Stencil Buffer中的值进行比较测试
Depth Test:深度测试,通过像素深度值进行比较测试
Blending:混合,使像素之间通过混合公式进行混合
Dithering:抖动,用几种色彩模拟大范围内的多种色彩模式
7Frame Buffer(帧缓存)
建立的一块后台数据缓存,用来保存将递交到屏幕的信息