文章主要是对opengl的一些重要的知识点进行总结:
1、opengl的工作原理
通常采用图形卡驱动程序的形式:
管线(pipeline)是一个过程,可能涉及两个或多个独特的阶段或步骤.应用程序进行OpenGL函数调用时,这些命令被放置在一个命令缓冲区.该缓冲区最终填满了命令,定点数据,纹理数据等东西.缓冲区被刷新时,命令和数据就传递给下一个阶段.
2、OpenGL ES(OpenGL for Embedded Systems)是从OpenGL剪裁或定制过来了,去除了glBegin/glEnd,四边形(GL_QUADS),多边形(GL_POLYGON)等复杂图元等许多非必要的特性.
pipeline:(管线)
opengl application: geometry(几何图形) + texture(纹理贴图)
vertex data(顶点数据): lighting(光照) +transform(变换) +scale(缩放)
geometry(几何图形): rasterization(光栅) +clipping(剪裁)
fragment(段): fog(雾) + texture(纹理).
framebufer(帧缓冲区): stecil(蒙版) z-test(深度测试) alpha(透明) blending(混合)
eyeball(眼球): 就看到物体了
3、对OpenGL ES各个版本的简单介绍
OpenGL ES1.x针对固定管线硬件,OpenGL ES1.0是以OpenGL1.3规范为基础的,OpenGL ES1.1是以OpenGL1.5为基础的,他们分别又支持common和common lite两种profile.
OpenGLES2.x针对可编程管线硬件. OpenGL ES2.0是参照OpenGL2.0规范定义的.
OpenGL ES 3.x 目前在高通骁龙600系列及其以上的版本中支持。
小插曲:对3.x中新特性的描述:(可以忽略)
OpenGL ES