OpenGL 常见专有名词

2021-03-02  本文已影响0人  辉辉岁月

状态机

可以理解为一个保存对象当前状态,且可以根据输入修改当前状态进行响应的机器

特点

上下文 Context

  • 一个保存OpenGL中各种状态的庞大状态机,
  • 是OpenGL指令执行的基础,需要在调用指令之前创建

OpenGL函数 与 上下文

问题:反复上下文切换/大量修改渲染状态,导致GPU开销较大

渲染 Rendering

将图形/图像数据通过解码,将其显示绘制到屏幕上的操作

顶点数组 VertexArray、顶点缓冲区 VertexBuffer

顶点:绘制图形时顶点位置的数据

OpenGL ES中的图元类型

屏幕中的所有图形/图像,都是由这三种图元组合而成的

顶点数据存储方式

顶点数组与顶点缓冲区的区别在于顶点数据的存储方式不同

管线

可以理解为流水线,该流水线有一个固定顺序的操作,需要按着这个顺序一个个执行

固定管线/存储着色器

顶点着色器

  • OpenGL中用来处理顶点相关代码的程序
  • 将顶点坐标由 自身坐标系 转换到 归一坐标系
  • 是逐顶点运行的程序,即每个顶点数据都会执行一次,且是并行的

操作

片元着色器

举例说明:图片饱和度是如何完成的?

GLSL(OpenGL Shading Language)

光栅化

通过2个步骤产生片元的一个过程

具体描述

作用
将图转化为一个个栅格组成的图像

特点
每个元素对应帧缓冲区中的一像素

执行的操作

纹理

可以理解为图片

目的

混合 Blending

可以理解为两个图形/图像相交处的颜色,该颜色即为两个图形/图像颜色的混合

变换矩阵 Transformation

用于图形的平移、旋转、缩放时使用

投影矩阵 Projection

将3D坐标转换为2D屏幕坐标时使用

渲染上屏/交换缓冲区 SwapBuffer

问题:如果每个窗口只有一个缓冲区,在绘制过程中刷新了屏幕,窗口可能显示不出完整的图像

问题:防止交换缓冲区时屏幕上下区域的图像分属于两个不同的帧

问题:使⽤用了了双缓冲区和垂直同步技术之后,由于总是要等待缓冲区交换之后再进行下一帧的渲染,使得帧率 无法完全达到硬件允许的最⾼⽔平

三缓冲区技术

上一篇下一篇

猜你喜欢

热点阅读