0X01、 OpenGL 专业术语理解

2020-09-28  本文已影响0人  Hello_kid

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

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

02. OpenGL context

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

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

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

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

06. 管线

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

核心要点

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

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. 矩阵

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

投影

OpenGL 坐标系

位图 Bitmap

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

上一篇 下一篇

猜你喜欢

热点阅读