OpenGL中一些专业名词

2020-07-21  本文已影响0人  刘铁崧

OpenGL上下文context

OpenGL状态机

概念:

顶点点数组(VertexArray)和 顶点缓冲区(VertexBuffer)

管线

在OpenGL下,GPU在处理数据时是按顺序执行,不能被打破

固定管线/存储着色器

早期OpenGL封装了很多种着色器序块内置的一段包含了光照、坐标变换、剪切等诸多功能的固定shader程序来完成,来帮助开发者完成图形的渲染、而开发者只需传入相应的参数,就能快速完成图形的渲染。
但是由于时代发展与使用场景的日益丰富,固定管线或存储着色器无法完成每一个业务,所以开发了两个模块允许开发者编程

shader(OpenGL的灵魂)

OpenGL在实际调用绘制函数之前,还需要指定一个由shader编译成的着色器程序。
常见的着色器主要有:

OpenGL在处理shader时,先通过编译、链接等步骤生成着色器程序(glProgram),着色器程序同时包含了顶点着色器和片段着色器的运算逻辑。

OpenGL绘制操作流程:
由顶点着色器对传入的顶点数据进行运算。通过图元装配,将顶点转换为图元。最后,将栅格化数据传入片段着色器中进行运算。片段着色器会对栅格化数据中的每一个像素进行运算,并决定像素的颜色

顶点着色器VertexShader

片元着色器FragmentShader

GLSL(OpenGL Shading Language)

类似于C语言,是用来在OpenGL中着色编程的语言

光栅化Rasterization

  1. 决定窗口坐标中的哪些整形栅格区域被基本图元占用
  2. 分配一个颜色值和一个深度值到各个区域

纹理

可以理解为图片,在渲染图形时需要在其编码填充图片,为了使得场景更加逼真。而这里使用的图片,就是常说的纹理。但是在OpenGL中,我们更加习惯叫纹理而不是图片

混合Blending(两个半透明视图重叠渲染时需要计算颜色)

变换矩阵Transformation

图形想发生平移、缩放、旋转变化需要使用变换矩阵

投影矩阵Projection

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

渲染上屏 / 交换缓冲区 (SwapBuffer)

上一篇下一篇

猜你喜欢

热点阅读