第二章 Open GL专业名词解析

2020-07-08  本文已影响0人  AcmenL

1、状态机

状态机是一种存在于理论中的机器。特点:
*有记忆功能,能记住其当前的状态
*可以接收输入,根据输入的内容和自己的状态,修改自己的状态,并且可以得到输出。
*进入特殊的状态(停机状态)的时候,它不再接收输入,停止工作。

2、渲染

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

3、顶点数组和顶点缓冲区

顶点数组就是图像的轮廓。OpenGL中的图像都是由图元组成。在OpenGL ES中,有3种类型的图元:点、线、三⻆形。
在调⽤绘制⽅法的时候,直接由内存传入顶点数据,也就是说这部分数据之前是存储在内存当中的,被称为顶点数组(VertexArray)。
⽽性能更高的做法是,提前分配⼀块显存,将顶点数据预先传⼊到显存当中。这部分的显存,就被称为顶点缓冲区(VertexBuffer)。

4、管线

在OpenGL下渲染图形,就会经历⼀个⼀个的节点。而这样的操作可以理理解管线。就像一个流⽔线,任务按照先后顺序依次执行。管线是⼀个抽象的概念,之所以称之为管线是因为显卡在处理数据的时候是按照一个固定的顺序来的,而且严格按照这个顺序。

5、固定管线/存储着色器

OpenGL封装的很多种内置了一段包含光照、坐标变换、裁剪等诸多功能的固定shader程序,能帮助开发者完成渲染。开发者只需要传入相应的参数就能快速完成渲染。类似于oc中封装的API.

6、顶点着色器VertexShader

处理图形每个顶点变换(旋转/平移/投影等)
顶点着色器是OpenGL中用于计算顶点属性的程序。

7、片段着色器FragmentShader

处理图形中每个像素点颜色计算和填充
片段着色器是OpenGL中用于计算片段(像素)颜色的程序。

8、GLSL(OpenGL Shading Language)

OpenGL着色语言是用来在OpenGL中着色编程的语言,是在图形卡的GPU(Graphic Processor Unit图形处理单元)上执行的。代替了固定的渲染管线的⼀部分,使渲染管线中不同层次具有可编程性。⽐如:视图转换、投影转换等。GLSL(GL Shading Language)的着⾊器代码分成2个部分: Vertex Shader(顶点着⾊器)和Fragment(⽚断着⾊器)。

9、顶点、图元、片元、像素

图元:一般指基本图形元素(点、线段或多边形)
片元:二维图象上每个点都包含了颜色、深度和纹理数据。将该点和相关信息叫做一个片元(fragment)。
像素:是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。

注:这就是片元和像素之间的关键区别,虽然两者的直观印象都是的像素,但是片元比像素多了许多信息,在光栅化中纹理映射之后图元信息转化为了像素。

过程:顶点——>图元——>片元——>像素

阶段1:顶点——>图元

几何顶点被组合为图元(点、线段或多边形),然后图元合成片元,最后片元被转换为帧缓存中的象素数据

阶段2:图片——>片元

图元被分几步转换为片元:图元被适当的裁剪,颜色和纹理数据也相应作出必要的调整,相关的坐标被转换为窗口坐标。最后,光栅化将裁剪好的图元转换为片元。

1)、裁剪
2)、转换到窗口坐标
3)、光栅化

光栅化是将一个图元转变为一个二维图象(其实只是布满平面,没有真正的替换帧缓存区)的过程。

阶段3:片元——>像素

OpenGL允许光栅化生成一个片元,只要该片元通过一系列检测就可以修改帧缓冲区中对应象素。如果它通过测试,片元数据可以直接替换帧缓冲区中的已有值,或者和已有值合并,这取决于设置的模式。

1)、像素所有权(ownership)检测
2)、裁剪检测
3)、Alpha检测
4)、模版检测
5)、深度检测
6)、融合
7)、抖动
8)、逻辑操作

https://blog.csdn.net/u014800094/article/details/53035889

上一篇 下一篇

猜你喜欢

热点阅读