OpenGL专业名词解析
1.context(上下文)
上下文状态控制着GPU渲染管线中的固定函数阶段,比如裁剪,片元的光栅化,帧缓存的清除,深度检测以及指定当前上下文所绑定的对象。
2.渲染
将图形/图像数据绘制到屏幕的过程。
3.顶点数组和顶点缓冲区
共同点:
都是用于存储确定图形的顶点数据。
区别:
1.顶点数组(VertexArray)在内存中。
2.顶点缓冲区(VertexBuffer)在显存中。
3.顶点缓冲区性能优于顶点数组。
5.管线
像一个流⽔线,任务按照先后顺序依次执行。管线是⼀个抽象的概念,之所以称之为管线是因为显卡在处理数据的时候是按照一个固定的顺序来的,而且严格按照这个顺序。
固定管线:由OpenGL 封装好的api,开发者只能去调用,不能改变其实现的方法。
可编程管线:开发者可自定义GLSL语法来实现一个管线。
6.着色器
顶点着色器:1.确定图形的位置,2.缩放、平移、旋转等位置换算,3.将3D图形数据转换成2D(投影换算)。
片元着色器: 处理每个像素点,例如,可以实现滤镜效果,修改每一个像素点的颜色
7.GLSL
用于编写自定义着色器代码的语言。
8.光栅化
1.光栅化是将一个图元转变维一个二维图像的过程。二维图像上每个点都包含了颜色、深度和纹理数据。将该点和相关信息叫做一个片元。
2.光栅化的目的是找出一个几何单元所覆盖的像素。通俗来说:模型的那些顶点在经过矩阵变换后也仅仅是顶点。而由顶点构成的三角形要在屏幕上显示出来,除了需要三个顶点的信息以外,还需要确定构成这个三角形的所有像素的信息。
9.纹理
纹理可以理解为图⽚。 在渲染图形时需要在顶点围成的区域中填充图⽚,使得场景更加逼真。⽽这⾥使⽤的图⽚,就是常说的纹理。只是在OpenGL,我们更加习惯叫纹理,⽽不是图⽚。
10.混合
OpenGL中,混合(Blending)通常是实现物体透明度(Transparency)的一种技术。透明就是说一个物体(或者其中的一部分)不是纯色(Solid Color)的,它的颜色是物体本身的颜色和它背后其它物体的颜色的不同强度结合。例如,一个有色太阳眼镜是一个透明的物体,镜片有它自己的颜色,但它最终的颜色还包含了镜片之后所有物体的颜色。这也是混合这一名字的出处,我们混合(Blend)(不同物体的)多种颜色为一种颜色。所以透明度能让我们看穿物体。
11.矩阵
变换矩阵(Transformation):
图形发⽣平移、缩放、旋转等变换,就需要使用变换矩阵。
投影矩阵(Projection):
⽤于将3D坐标转换为⼆维屏幕坐标,实际线条也将在二维坐标下进行绘制。