美文网首页
OpenGL 常用名词及个人理解

OpenGL 常用名词及个人理解

作者: 神气的煤气 | 来源:发表于2020-10-12 08:12 被阅读0次

    上下文(context)

    官方解读:
    1. 在应用程序调⽤任何OpenGL的指令之前,需要安排⾸先创建一个OpenGL的上下⽂。这个上下文是一个⾮常庞大的状态机,保存了OpenGL中的各种状态,这也是OpenGL指令执行的基础
    2. OpenGL的函数不管在哪个语⾔言中,都是类似C语言一样的面向过程的函数,本质上都是对OpenGL上下⽂这个庞大的状态机中的某个状态或者对象进行操作,当然你得首先把这个对象设置为当前对象。因此,通过对OpenGL指令的封装,是可以将OpenGL的相关调⽤封装成为⼀个⾯向对象的图形API的
    3. 由于OpenGL上下⽂是一个巨大的状态机,切换上下文往往会产生较⼤的开销,但是不同的绘制模块,可能需要使用完全独⽴的状态管理。因此,可以在应⽤程序中分别创建多个不同的上下文,在不同线程中使⽤不同的上下⽂,上下⽂之间共享纹理、缓冲区等资源。这样的方案,会比反复切换上下文,或者⼤量修改渲染状态,更加合理⾼效的.
    个人理解:

    一个具有生命周期的机器,类似OC的单例对象,有大量属性,当一个机器开启时创建,结束时释放,过程中设置的内容都保存在上下文的属性中,以供生命周期内的其他资源随时调用


    顶点数据

    顶点指的是我们在绘制⼀个图形时,它的顶点位置数据.而这个数据可以直接存储在数组中或者将其缓存到GPU内存中,由顶点数据构成一个图片的骨架,OpenGL的图片是由图元组成,OpenGL ES中只有三种图元 点 线 三角形


    顶点数组

    将顶点数据保存在内存中,CPU在调用过程中要从内存中拿数据,涉及到GPU的带宽


    顶点缓冲区

    将顶点数据保存在CGP的显存中,在调度的时候,性能更高


    管线与固定管线

    可以理解一个流程,比如把木头变成木雕的过程,同理固定管线就是固定流程


    着色器与固定着色器

    可以理解CPU调用的函数,着色器是供GPU使用的,固定着色器就是系统的方法,不能修改,只能使用


    WX20201011-201040@2x.png

    顶点着色器

    用来操作图片的形状,平移,缩放,翻转,投影等功能的函数
    一般有三个主要功能

    1. 确定位置
    2. 进行 平移 旋转 缩放
    3. 投影 因为屏幕是2D的 要将3D的内容呈现在2D的屏幕上,要进行投影,涉及到3D数学转换

    片元着色器/像素着色器

    为单独的像素点计算与填充颜色的函数,一般是RGBA, 一个图片的渲染, 要调用多次的片元着色器


    光栅化

    把顶点数据转化为片元的过程,具体有两个动作:

    1. 图元装配(将顶点数据组装成想要的形状)
    2. 为图元附着颜色

    纹理

    就是指位图,解压后的图片


    颜色混合

    当半透明图层进行叠加时,会出现颜色混合计算,一般在组透明度时会发生离屏渲染


    变换矩阵

    当进行图片的缩放,平移, 翻转时 是通过顶点数据乘上一个参数, 多个顶点数据乘上的数据就是变换矩阵


    投影矩阵

    是3D坐标转2D坐标的过程


    视口

    指显示在屏幕上的物理坐标窗口


    投影

    平行投影:1:1大小的绘制在屏幕上
    透视投影:符合人眼看规则,看远处的会小,近处的大


    相关文章

      网友评论

          本文标题:OpenGL 常用名词及个人理解

          本文链接:https://www.haomeiwen.com/subject/dtqupktx.html