在iOS上使用OpenGL,基本上会涉及到 OpenGL ES,GPUImage, GLKit 这三块的知识,其中:
OpenGL ES是最基础最底层的;
GPUImage将OpenGL ES封装成完全的Objective-C方法,如果不自己写滤镜或者做什么极其个性化的需求,基本不用写OpenGL的代码;
GLKit是封装了OpenGL的部分内容,使用GLKit的话还要写不少OpenGL的代码。
在OpenGL中,任何事物都存在于3D空间中,而屏幕确是2D的,所以OpenGL的大部分工作都是关于把3D坐标转换为适应屏幕的2D像素。这个过程是由OpenGL的 图形渲染管线(Graphics Pipeline)管理的,可以分为两个主要部分:一是将3D坐标转换为2D坐标,二是将2D坐标转变为实际的有颜色的像素。
shader 着色器
顶点数据- 顶点着色器-形状装配-几何着色器-光删化-片段着色器-测试与混合
网友评论