美文网首页
0X01、 OpenGL 专业术语理解

0X01、 OpenGL 专业术语理解

作者: Hello_kid | 来源:发表于2020-09-28 23:12 被阅读0次

在学系OpenGL 之前,首先了解一波它的名词术语;
因为深入理解这些术语, 对后面的学习会更舒服一些;
如果有玩过3D MAX 会对其中一些概念理解起来比较容易,如纹理 贴图 坐标系等

01. 计算机图形API有哪些?

  • OpenGL

    2D和3D的跨平台,跨编程语言图形API,它将计算机资源抽象成一个个对象,对这些对象的操作抽象成了OpenGL指令, 利用并行的高运算的GPU能力,加速渲染图形

  • OpenGL ES

    OpenGL三维图形的子集, 针对手机、游戏机等嵌入式设备设计的一套图形API,去除了不必要和性能较低的接口;

  • DirectX

    windows平台图形API, 所以不属于跨平台;

  • Matel

    苹果为游戏开发者推出的新平台技术Matel, 该技术能为3D图像渲染提高10倍性能,Matel是为解决3D渲染推出的框架;

02. OpenGL context

OpenGL 上下文环境, 是一个庞大的状态机,保存了一堆控制开关
不管在什么编程语言中,都是类似c语言面向过程的函数,因此可以通过对OpenGL指令的封装,可以将OpenGL相关调用封装成为一个面向对象的图形API;
当上状态机进入特殊状态 比如停机状态, 就不接受输入
切换上下文环境 会有较大的开销 ,因此在应用中,可以创建不同的上下文, 在不同的线程中使用不同的上下文,上下文之间可以共享纹理,缓冲区等资源,这种方案比切换上下文更加合理高效;

04. 渲染(Rendering)是指什么?

将数学和图形数据转换成3D空间的图像叫做渲染(Rendering)

  • 作为动词 在计算机中指的是创建三维图像的过程
  • 作为名词 指最终产生的作品 (图片、按钮、视频 显示到屏幕的过程)

05. 顶点数组和顶点缓存区

  • 顶点数组保存在内存中,
  • 顶点缓存区 顶点数据存储在GPU的显存中

06. 管线

相当与一条流水线, 单向,把图形图像从管道的一头流到另一头,从开始执行到末尾,管线是一个抽象概念
有点像Linux管道命令,用 | 分割, 先做什么,后做什么, 一步一步来;
把图形图像渲染到屏幕的过程

核心要点

  • 任务严格按照顺序依次执行

07. 固定管线与可编程管线

  • 固定管线 对应非常多的固定着色器,由一系列着色器程序组成的管线
  • 可编程管线 自定义编程模具(GLSL语法驱动GPU) 因为随着场景的丰富,固定管线或者着色器程序不能满足开发,OpenGL就将相关部分开放成可编程,可以freestyle,直到OpenGL ES3.0, 只开放了顶点着色器和片元着色器可供编辑;

07. 固定存储着色器程序(shader)

  • 顶点着色器
  • 片元着色器(像素着色器)
  • 自定义着色器

7.1 顶点着色器

处理顶点数据的几何关系,
1 确定位置
2 旋转 平移 缩放 换算
3 3D到2D的投影换算

7.2 片元着色器

片元着色器

片元着色器 主要负责处理像素点,对每一个像素点进行颜色的计算

08. GLSL (OpenGL Shading Language)

着色器语言, 就像开发iOS用Objective-C, Swift, 开发android用Java, Kotlin, 开发shader, 使用GLSL;

09. 光栅化(Rasterization)

把顶点数据转化为片元的过程,其实就是将几何图元转换为二维图形的过程,包含

10. 纹理(Texture)

可以理解为一张图片(位图),

11. 混合(Blending)

混合,可以理解在photoshop中的,叠加模式, 不同的图层叠加在一起,产生混合的的效果,

12. 矩阵

  • 变换矩阵
    图形想发生平移 缩放 旋转 就需要使用变换矩阵
  • 投影矩阵
    将3D坐标转换为二维屏幕坐标

13. 渲染上屏/交换缓存区(SwapBuffer)

投影

  • 透视投影
    远小近大 3D图形
  • 正投影 (平行投影)
    1:1进行绘制 2D图形

OpenGL 坐标系

  • 2D笛卡尔坐标系
  • 3D笛卡尔坐标系

位图 Bitmap

也称之为点阵图 栅格图 是由一个个像素(Pixel)点组成的
位图大小,120120的图片= 120120 = 14400 * 4 = 位图大小(Byte)

相关文章

网友评论

      本文标题:0X01、 OpenGL 专业术语理解

      本文链接:https://www.haomeiwen.com/subject/yvfysktx.html