OpenGL初识 - 专业名词解释

  • 首先OpenGL两大“圣经”镇楼,如果想学习OpenGL的小伙伴,可以入手红宝书或者蓝宝书其中的一本


    1.png
2.png

一.语言简介

  • OpenGL (Open Graphics Library) :开放图形库,是用于渲染2D以及3D图形的跨语言、跨平台的图形程序接口(API),提供给开发者去使用GPU的通道,主要用于处理Mac和Windows(PC端)。
  • OpenGL ES (OpenGL for Embedded Systems): 实际上只是OpenGL的子集,针对移动设备和游戏主机等嵌入式设备设计,去掉了许多在以上设备中不必要的和性能低的API接口,平台主要用于苹果和安卓。
  • DirectX:DirectX属于Windows上的一个多媒体处理框架,也只支持Windows不支持其他平台。当然它也可以处理图形,可以分为四大部分:显示、声音、输入以及网络。
  • Metal:Apple在2018年为游戏开发者推出的新平台技术,相比于OpenGL ES,Metal在3D图形的处理提高了10倍的渲染性能,主要用于苹果端。
  • OpenCV:广泛用于人脸识别以及人工智能,也是一个跨平台的语言。比如提供人脸识别的第三方公司Face++和OpenCV都基于此开发。

二、OpenES和Metal对比(iOS开发者应该关注)

  • 2018年苹果在移动端推出了新的渲染框架Metal,之前苹果移动端设备图形渲染都是基于OpenGL ES封装上层框架,推出Metal后底层开始向Metal迁移,并可能在今后弃用OpenGL ES;

    推出Metal原因:
    1.对于苹果来说,OpenGL ES相当于一个第三方的框架,无法自定义以及定制需求和迭代,并且不可能将核心的渲染部分一直依托于一个第三方的框架;
    2.借助Metal入口调用GPU做大量的并发运算

  • 虽然苹果针对移动端推出了Metal,但不代表想学习OpenGL的小伙伴完全可以不理OpenGL ES,毕竟很多公司还是使用的OpenGL ES,而且学习过OpenGL ES后去学习Metal也会容易很多。

三、OpenGL中一些专业名词解释

  • 上下文:在任何程序调用OpenGL API的时候都需要一个上下文,上下文相当于一个庞大的状态机,帮我们存储了渲染时的所需要的所有信息例如绘制的颜色、深度测试等信息

  • 渲染:将图片、视频、按钮等数据绘制到屏幕中的过程称为渲染

  • 顶点数组:呈现图形首先要画出图形轮廓,在计算机中图形轮廓由点组成,这些点的数据存在于内存中,这些数据称之为顶点数据。在OpenGL ES中,有3种类型的图元:点、线、三⻆形。而现在的做法是GPU提前分配⼀块显存,将顶点数据预先传⼊到显存当中。这部分的显存,就被称为顶点缓冲区(VertexBuffer)。

  • 管线:在GPU处理图形数据是严格按照一个固定的顺序执行的,会经历一道一道工序且这个顺序无法打破。类似工厂的流水线。

  • 固定管线:固定管线又可以叫做存储着色器,OpenGL中固定管线包含光照、坐标转换、裁剪等。无法自定义,只能生成系统拥有的模具。

  • 可编程管线:跟固定管线不同,我们可以自定义成不同的模具。

  • 着色器:相当于一个函数代码段,这些API供GPU使用,不同的着色器作用不同。

  • 固定着色器:顾名思义,iOS系统提供的API,我们只能根据API调用节课,无法修改自定义。

  • 自定义着色器:基于GLSL(OpenGL Shading Language)语言编写代码段(着色器);目前OpenGL中开放的可自定义着色器只有顶点着色器和片元着色器,其余均为固定着色器;

  • 顶点着色器:用来处理顶点相关代码段称为顶点着色器,比如:顶点的位置确定、缩放、平移旋转换算等

  • 片元着色器:用来处理每一个像素点的代码段称为片元着色器,例如:40 * 40像素的图片共有1600个像素点,那么每个像素点都要使用片元着色器调动GPU进行运算。值得一提的是GPU在进行运算是并行运算,所以不用担心效率问题

  • GLSL:OpenGL Shading Language,是一种语言用于自定义着色器的编写,来调动GPU做运算。

  • 光栅化:光栅化其实是一种将几何图元变为二维图像的过程。该过程包含了了两部分的⼯作。第⼀部分工作:决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域。光栅化过程产生的是片元。

看到这里小伙伴们是不是有点晕,这里有一个着色器渲染流程的图片可以帮助我们理解

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

  • 混合:当两个颜色不同的图层叠在一起时,混合部分的像素颜色需要通过混合算法重新运算。

  • 变换矩阵:和线性代数的变换矩阵是同一个东西,主要做图形的旋转、平移以及缩放。

  • 投影矩阵:⽤于将3D坐标转换为二维屏幕坐标,实际线条也将在二维坐标下进行绘制。

  • OpenGL投影方式:有两种分别为正投影以及透视投影。


    8.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354