OpenGL学习(一)—— OpenGL专业名词理解

OpenGL 上下⽂(context)

可以理解为一个保存当前状态的机器,能够实时跟进我们的修改。

1、有记忆功能,保存状态(当前使用的颜色、是否开启深度测试、是否开启混合功能)

2、能接收输入,根据输入修改当前状态,且有相应输出

3、可以进⼊停⽌状态,不再接收输⼊。在程序退出前,OpenGL总会先停⽌⼯作的。

4、反复切换上下文会导致GPU开销变大,一般使用多个不同的上下⽂,根据不同的需求使用不同的上下⽂,上下⽂之间可以共享纹理、缓冲区等资源。

渲染(Rdndering)

就是将图形/图像绘制到屏幕上的过程叫做渲染(Rendering)

顶点数组(VertexArray)

OpenGL上只有点、线、三角形,保存顶点数据的就是顶点数组。顶点数据保存在内存在。

顶点缓冲区(VertexBuffer)

与顶点数组存储的东西一样,只不过顶点缓冲区是存储在GPU显存里面,GPU调度起来更快捷。

位图

由每一个像素点组成的图样,也可以称为纹理。放大位图就是放大每一个像素点。

固定管线

管线就相当于流水线,就是按照一定的步骤一步一步操作。固定管线就是已经封装好了的管线,不能自定义顶点渲染和像素渲染的过程。

可编程管线

与固定管线类似,只是可以通过开发者自定义部分渲染过程,比如顶点渲染,像素渲染等。

着色器,固定着色器,自定义着色器 (Shader)

着色器就是用来实现图像渲染的程序(或者叫方法)。固定着色器也叫存储着色器,就是OpenGL提供的着色器,只能调用api来使用。自定义着色器,基于GLSL语法来进行编写的代码段。

顶点着色器(VertexShader)

用来处理顶点的着色器。可以用来确定位置、缩放/平移/旋转位置换算、3D图形数据转换为2D的投影换算(OpenGL ES)

片元(片段)着色器/像素着色器(FragmentShader/PixelShader)

处理一个一个像素点的着色器,由GPU来并行运算。

GLSL

OpenGL的着色器语言。

光栅化(Rasterization)

光栅化就是将顶点数据转换成片元的过程。

1、决定窗⼝坐标中的哪些整型栅格区域被基本图元占⽤,即确定位置、大小。

2、分配一个颜⾊值和一个深度值到各个区域。

混合(Blending)

同一个像素点需要多个颜色叠加渲染时就需要混合。

变换矩阵(Transformation)

图形想发生平移,缩放,旋转变换,就需要使⽤用变换矩阵。

投影矩阵(Projection)

用于将3D坐标转换为二维屏幕坐标,实际线条也将在二维坐标下进行绘制。

交换缓冲区

渲染缓冲区⼀般映射的是系统的资源⽐如窗口。如果将图像直接渲染到窗口对应的渲染缓冲区,则可以将图像显示到屏幕上。如果每个窗口只有一个缓冲区,那么在绘制过程中屏幕进⾏了刷新,窗口可能显示出不完整的图像。常规的OpenGL程序至少都会有两个缓冲区。显示在屏幕上的称为屏幕缓冲区,没有显示的称为离屏缓冲区。在一个缓冲区渲染完成之后,通过将屏幕缓冲区和离屏缓冲区交换,实现图像在屏幕上的显示。

你可能感兴趣的:(OpenGL学习(一)—— OpenGL专业名词理解)