1、图形API
1.1 图形API简介
-
OpenGL
是一个跨编程语言、跨平台的编程图形程序接口 -
OpenGL ES
是OpenGL
三维图形API的自己,针对手机、PDA和游戏主机
等嵌入式设备而设计的,去除了很多不必要觉和性能较低的API接口 -
DirectX
是由很多API组成的,DirectX
并不是一个单纯的图形API。最重要的是DirectX
是属于Windows上一个多媒体处理框架,并不支持Windows以外的平台 -
Metal
是Apple为游戏开发者退出的新的平台技术,该技术能为3D图像提高10倍的渲染性能
1.2 图形API作用
简单来说就是 实现图形的底层渲染
-
比如在游戏开发中对于游戏场景/游戏人物的渲染
-
比如在音视频开发中对于视频解码后的数据渲染
-
比如在地图引擎对于地图上的数据渲染
-
比如在动画中实现动画的绘制
-
比如在视频处理中对于视频加上滤镜效果
OpenGL/OpenGL ES/Metal 在任何项目中解决问题的本质——利用 GPU芯片
来高效渲染图形图像
图形API是iOS开发者唯一接近GPU的方式
2、OpenGL下专业名词
-
OpenGL上下文
Context
-
上下文是一个非常庞大的状态机,保存了OpenGL中的各种状态
-
不管在哪个语言中,都是类似C语言一样面向过程的函数
-
-
OpenGL状态机
描述了一个对象的生命周期经历各种状态发生转变时的动因、条件及转变中所执行的活动
-
有记忆功能,能记住其当前的状态(如当前所使用的颜色、是否开始了混合功能等)
-
glClearColor(1,1,1,1)设置颜色
-
glEable(GL_DEPTH_TEST)开启深度测试
-
glEable(GL_BLEND)开启混合
-
-
可以接收输入,根据输入的内容和自己的原先状态,修改自己当前状态,并且可以有对应输出
-
当进入特殊状态(停机状态)时便不再接收输入,停止工作
-
-
渲染
:将图形/图像数据转换成3D空间图像的操作叫做渲染(Rendering)即数据->可视化界面
的过程,也就是我们口中所说的绘制
-
顶点数组
(VertexArray)和
顶点缓冲区
(VertexBuffer):
-
顶点数据是由GPU处理的
-
顶点数组是存在内存中,GPU通过操作内存来处理顶点数据
-
顶点缓冲区存在显卡显存中
-