OpenGL 图形专有名词解析

OpenGL 初探.png

一、认识一下图形 API

  1. OpenGL(Open Graphics Library)
    是一个跨编程语言、跨平台的编程图形程序接口,它将计算机的资源抽象为一个个 OpenGL 的对象,对这些资源的操作抽象为一个个的 OpenGL 指令。
  2. OpenGL ES(OpenGL for Embedded Systems)
    OpenGL 三维图形 API 的子集,针对手机、游戏主机等嵌入式设备而设计,去除了许多不必要的和性能较低的API接口。
  3. DirectX
    并不是一个单纯的图形API,而是由很多API组成。它属于Windows上一个多媒体处理API,不支持WIndows以为的平台。
  4. Metal
    Apple 为了解决3D渲染而推出的框架,为游戏开发者推出的新的平台技术,该技术能够为 3D图像提高10倍的渲染性能。

二、图形 API 的作用

游戏场景或人物的渲染;
图片、视图、图层渲染;
视频解码后数据的渲染;
核心动画的绘制(旋转、缩放、移动);
滤镜效果等等。
也是 iOS 开发者唯一可接近 GPU 的方式

解决问题的本质就是利用 GPU 来高效渲染图形图像

三、OpenGL 中专业名词解析

以下名词解析大体上纯属个人理解

  • 上下文 context
    包含所发生的事件的整个生命周期。
  • OpenGL 状态机
    一个在一定条件下记录着不同状态的对象
    特点:
    1. 有记忆功能,能够记住自己当前的状态;
    2. 可以输入,根据条件修改自身的状态,而且可以有输出,例如glClearColor(1.0,1.0,1.0,1.0),输入不同数据,就可以显示不同颜色;
    3. 可以根据停机状态,停止工作。
  • 渲染
    图形图像绘制到屏幕上的过程
  • 顶点数组 VertexArray
    顶点数据的集合,类似三角形三个顶点的坐标数据的集合。这部分数据存储在 内存 中。
  • 顶点缓冲区 VertexBuffer
    顶点数据存储在显存中,那么这部分显存就被称为顶点缓存区。
  • 管线
    类似一个固定,先后顺序不变的生产流水线
  • 固定管线
    类似一个染布生产流水线,只能固定染一种颜色的布。
  • 可编程管线
    上面的染布流水线为了满足市场要求,提供开放式接口,大家想要什么颜色,就可以染不同颜色的布。

这里的开放式,指的是自定义编程,OpenGL 里面是用 GLSL 语法来驱使 GPU ,这也是开发者唯一可以接近 GPU 的方式。

  • 着色器 Shader
    好比染布流水线上的一个阶段,传入不同条件,就会染出不同颜色的布。类似开发中的函数或者方法。
  • 固定着色器
    类似固定管线上的一个阶段,只染一种颜色布的接口,比较束缚,不自由。(Apple 提供只可调用的 API
  • 自定义着色器
    可编辑的着色器,染布流水线开始满足不同需求了。
  • 顶点着色器 VertexShader
    顾名思义,用来处理顶点数据的着色器,也可以说是函数或方法。

例如:确定位置、旋转/缩放/平移位置换算、3D2D 图形投影换算等

  • 片段着色器 FragmentShader/像素(片元)着色器 PixelShader
    除了顶点以外的部分,每个像素都可支持编辑的函数或方法。
  • GLSL (OpenGL Shading Language)
    染布阶段的不同染料。专业来说是编写着色器的语言,有了它才使得着色器可编辑。编程代码分为两个部分:顶点着色器 (VertexShader)片段着色器 (FragmentShader)/像素(片元)着色器 (PixelShader)
  • 光栅化 Rasterization
    将顶点数据转换为线段或者三角形形状的过程,也可以理解为用两点或者三点确定一个被像素填充的形状。
    该过程分为两个部分:
    1、确定两点之间或者三点连线区域的每个像素范围
    2、为每个像素附上对应颜色
  • 纹理
    即为图片
  • 混合 Blending
    颜色的叠加,叠加部分颜色是通过着色器进行计算的。
  • 变换矩阵 Transformation
    例如图形的旋转、缩放、平移,都需要使用变换矩阵。
  • 投影矩阵 Projection
    3D 坐标转换为二维屏幕坐标,可分为正投影(2D效果)和透视投影(3D效果)。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容