OpenGL常见专业名词

2020-07-02  本文已影响0人  ugpass

参考了维基百科
OpenGL:Open Graphis Library,是用于渲染2D、3D矢量图形的跨语言、跨平台的API。
OpenGL ES:OpenGL For Embedded Systems,是OpenGL的子集,针对手机、PAD和游戏主机等嵌入式设备而设计。
DirectX:由微软公司创建的一系列专为多媒体以及游戏开发的API。
Metal:Apple推出的一个兼顾图形与计算功能的,面向低层、低开销的硬件加速API。类似于将OpenGL和OpenCL的功能集成到了同一API上。
OpenCL:最初由Apple开发的为异构平台编写程序的框架,OpenCL扩展了GPU图形生成之外的能力。


上下文(context): 一个非常庞大的状态机,里面是对于OpenGL各种状态的描述与记录。OpenGL指令执行需要有上下文环境,执行指令即修改上下文中各种状态。切换上下文需要消耗比较大的资源。

渲染:是将模型数据转换成图像数据的过程,将图形/图像数据转成2D空间图像操作叫做渲染。

顶点数组:顶点位置数据存储在内存中即顶点数组。
顶点缓冲区:为了更加高效,将顶点数组拷贝到显存中,即顶点缓冲区。

着色器:在CPU中执行的代码段可以叫做函数/方法,在GPU中执行的代码段可以叫做着色器(Shader)
管线:OpenGL在处理渲染图形处理数据时,是严格按照一定顺序进行的,把这一系列处理数据的流程理解为管线。
固定管线(存储着色器):类比苹果提供给开发者已经封装好的API,固定管线(存储着色器)就是由OpenGL封装好的API,开发者只需要传递参数调用即可。
自定义着色器:由于部分场景固定管线无法满足,OpenGL开放了部分着色器(一般指下面的顶点着色器片元着色器)可以编程,也就是基于GLSL语法来编写的代码段。

GPU渲染流程

image.png

顶点着色器:处理顶点相关。

作用有:

片元着色器:片元即像素点,所以也叫像素着色器,处理一个个像素点,如120*120像素点,片元着色器需要执行14400次。如针对一张图片的饱和度调整,则需要片元着色器对每个像素点进行修改。

光栅化:将顶点数据转换为片元的过程。片元中的每一个元素对应帧缓冲区的一个像素。包括2个部分工作,且不可编程,只需要有认知就好。

纹理:即比如png和jpeg解压缩后产生的位图。

混合:如多个Layer图层进行叠加,不同颜色值和透明度需要进行颜色的混合计算。

变换矩阵:图形发生平移/旋转/缩放需要使用变换矩阵。
投影矩阵:3D图形转为2D坐标需要使用投影矩阵。

投影方式:有且只有两种,正投影(平行投影)/透视投影。

坐标系


上一篇 下一篇

猜你喜欢

热点阅读