OpenGL - 01名词解析

149 阅读1分钟

OpenGL  (Open Graphics Library)是一个跨编程语言,跨平台的编程图形程序接口

OpenGL  ES (OpenGL for Embedded Systems) 是OpenGL三维图形API的子集。

DirectX   是windows上的一个多媒体处理API,并不支持windows以外的平台。

Metal 。 Metal是apple为了解决3D渲染而推出的框架。

openGL/OpenGLES/Metal  在任何项目中解决问题的本质 就是利用GPU芯片来高效渲染图形图像

图形API是iOS开发者唯一接近GPU的方式

渲染:将图形/图像数据转换成3D空间图像操作叫做渲染 (Rendering)

顶点数组[Vertex Array]  顶点缓冲区(VertexBuffer)

用途:

1.游戏开发   2.视频解码后的数据渲染   3.地图上的数据渲染   4.动画的绘制   5.视频滤镜

2D笛卡尔坐标系

3D笛卡尔坐标系

视口  gViewPort(x.y.z)

openGL投影方式: 

1.立体图形-> 透视投影  

2.平面图形->正投影

openGL摄像机坐标系(观察者)

openGL坐标系(世界坐标系  惯性坐标系  物体坐标系)

局部空间(物体空间坐标系)

世界空间

观察空间

裁剪空间

屏幕空间

MVP矩阵 

model view projection 

世界坐标系

物体坐标系

摄像机坐标系

惯性坐标系

物体/世界/照相机空间->右手系

规范化设备坐标->左手系

atttribute属性 (经常发生改变的值)  可以直接传递到片元着色器,通过gls代码间接传递

颜色数据  顶点数据    纹理坐标  光照法线  

uniform  值  (没有发生太多改变)  直接传到片元着色器/顶点着色器

 

视频->解码->一帧帧图片组成->openGL es /metal 

视频颜色空间  YUV 

正投影  /透视投影