美文网首页
OpenGL常见专业名词

OpenGL常见专业名词

作者: ugpass | 来源:发表于2020-07-02 16:32 被阅读0次

    参考了维基百科
    OpenGL:Open Graphis Library,是用于渲染2D、3D矢量图形的跨语言、跨平台的API。
    OpenGL ES:OpenGL For Embedded Systems,是OpenGL的子集,针对手机、PAD和游戏主机等嵌入式设备而设计。
    DirectX:由微软公司创建的一系列专为多媒体以及游戏开发的API。
    Metal:Apple推出的一个兼顾图形与计算功能的,面向低层、低开销的硬件加速API。类似于将OpenGL和OpenCL的功能集成到了同一API上。
    OpenCL:最初由Apple开发的为异构平台编写程序的框架,OpenCL扩展了GPU图形生成之外的能力。


    上下文(context): 一个非常庞大的状态机,里面是对于OpenGL各种状态的描述与记录。OpenGL指令执行需要有上下文环境,执行指令即修改上下文中各种状态。切换上下文需要消耗比较大的资源。

    渲染:是将模型数据转换成图像数据的过程,将图形/图像数据转成2D空间图像操作叫做渲染。

    顶点数组:顶点位置数据存储在内存中即顶点数组。
    顶点缓冲区:为了更加高效,将顶点数组拷贝到显存中,即顶点缓冲区。

    着色器:在CPU中执行的代码段可以叫做函数/方法,在GPU中执行的代码段可以叫做着色器(Shader)
    管线:OpenGL在处理渲染图形处理数据时,是严格按照一定顺序进行的,把这一系列处理数据的流程理解为管线。
    固定管线(存储着色器):类比苹果提供给开发者已经封装好的API,固定管线(存储着色器)就是由OpenGL封装好的API,开发者只需要传递参数调用即可。
    自定义着色器:由于部分场景固定管线无法满足,OpenGL开放了部分着色器(一般指下面的顶点着色器片元着色器)可以编程,也就是基于GLSL语法来编写的代码段。

    GPU渲染流程

    image.png

    顶点着色器:处理顶点相关。

    作用有:

    • 确定位置
    • 缩放/平移/旋转的位置换算
    • 3D图形数据转换为2D数据(投影换算)

    片元着色器:片元即像素点,所以也叫像素着色器,处理一个个像素点,如120*120像素点,片元着色器需要执行14400次。如针对一张图片的饱和度调整,则需要片元着色器对每个像素点进行修改。

    光栅化:将顶点数据转换为片元的过程。片元中的每一个元素对应帧缓冲区的一个像素。包括2个部分工作,且不可编程,只需要有认知就好。

    • 确定图形在像素范围内。
    • 分配一个颜色值和深度值到片元的每个元素。

    纹理:即比如png和jpeg解压缩后产生的位图。

    混合:如多个Layer图层进行叠加,不同颜色值和透明度需要进行颜色的混合计算。

    变换矩阵:图形发生平移/旋转/缩放需要使用变换矩阵。
    投影矩阵:3D图形转为2D坐标需要使用投影矩阵。

    投影方式:有且只有两种,正投影(平行投影)/透视投影。

    坐标系

    • 物体坐标系
    • 世界坐标系
    • 观察者坐标系
    • 规范化设备坐标系
    • 屏幕坐标系

    相关文章

      网友评论

          本文标题:OpenGL常见专业名词

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