OpenGL 名词解释

OpenGL 名词解释

OpenGL (Open Graphics Library) 是用于渲染2D 3D矢量图形的跨语言 跨平台的应用程序编程接口(API)

OpenGL ES (OpenGL for Embedded Systems) 是OpenGL的子集 去掉了openGL 里面许多非绝对必要的特性 针对手机 PDA 和游戏主机的嵌入式设备而设计的。

Metal WWDC2014年推出的新技术 能够为3D图像提高10倍的渲染性能

以上三个框架的本质都是利用GPU芯片来高效渲染图形和图像 图形接口是开发者唯一能够接近GPU的方式

OpenGL上下文(context)

在应用程序调用任何openGL指令之前,首先得创建openGL的上下文 类似于我们使用对象(object) 之前得初始化 这个上下文是一个非常庞大的状态机 保存了openGL中的各种状态

OpenGL 的函数 本质上都是对openGL上下文这个状态机中的某个状态或者对象进行操作 对openGL指令的封装 是可以将openGL的相关调用封装成一个面向对象的API

openGL上下文是一个巨大的状态机 切换上下文一般会产生巨大的开销 但是绘制不同的模块 可能会需要使用完全独立的状态管理 基于此 可以在程序中创建多个不同的上下文 在不同的线程中使用不同的上下文 不同的上下文之间可以共享纹理 缓冲区等资源 这种工作方式 会比反复切换上下文 或者大量修改渲染状态 会更加的高效

OpenGL状态机

描述了一个对象在他的生命周期内经历的各种状态 发送转变的原因 状态间的转变 转变的条件 转变中执行的活动 。具有以下的特点
有记忆功能 能记住当前的状态
可以接受输入 根据输入的内容 和自己原来的状态 来修改自己当前的状态 并且可以有对应的输出
当前进入特殊的状态比如说停机状态的时候 就不再接受输入 停止工作

渲染(Rendering).

将图形/图像数据转换成3D空间图像的操作叫做渲染

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

画图一般来说先画图像的骨架 ,然后再往骨架里面填充颜色 OpenGL 也一样 。 顶点 数据就是图像的骨架 OpenGL中的图像是有图元组成的 OpenGLES 有三种类型的图元 :点 线 三角形 顶点数据可以存在内存中 存在内存的这部分数据叫做顶点数组 更高效的办法是预先传入到显存中 这部分显存 就叫做顶点缓冲区

管线 OpenGL在渲染图形的时候会经历一个一个的节点 就可以理解为流水线上的每一个步骤 就像流水线上做产品一样 这个固定的顺序是从开始的第一步 第二步 一直到最后一步 顺序不能乱

固定管线 存储着色器

早期的OpenGL中 封装了很多种着色器程序块 这些固定的着色器(shader)程序来完成图形的渲染 开发者不需要关注底层实现 只需要传入相应的参数就可以了
但是随着使用常用越来越丰富 固定管线或者存储着色器已经不能满足需求 这时候就有一个步骤变成了可以自己自定义编程 就像iOS中一般不复杂的界面可以调用系统已有的控件 但是不规则的图形 就需要开发者自己绘制了

着色器程序

在固定渲染管线架构变成了可编程渲染管线 OpenGL在调用绘制函数之前 需要指定着色器程序 常见的着色器有顶点着色器 片段着色器/像素着色器 几何着色器 曲面细分着色器 到OpenGL3.0 还是只支持顶点着色器和片段着色器
OpenGL 处理着色器程序的时候 要通过编译 链接等步骤 生成了着色器程序 步骤分为
1 顶点着色器对传入的顶点数据进行运算
2 图元装配 顶点转换成图元
3 光栅化 将图元这种矢量图形 转换成栅格化的数据
4 将栅格化的数据 传入片段着色器中进行运算 片段着色器 对栅格化的数据中的每一个像素进行计算 来决定像素的颜色

顶点着色器 vertexShader

一般来处理图形的每个顶点的变化 旋转 平移和投影等等
顶点着色器会对每个顶点数据都并行执行一次 在运算过程中无法访 问别的顶点的数据

片元着色器FragmentShader

一般来处理图像中每个像素点的颜色计算和填充
对每一个像素点 一个一个的并行计算

GLSL OpenGL shading language

OpenGL 着色语言 开发者自定义的程序 代替了固定的渲染管线的一部分
GLSL的着色器代码包含顶点着色器和片段着色器两个部分

光栅化 Rasterization

将顶点数据 转换成片元的过程 具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。
1 决定窗口坐标中那些整形栅格区域被基本图元占用
2 分配一个颜色值和深度值到各个区域

纹理

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

混合

在测试阶段之后,如果像素依然没有被剔除,那么像素的颜色将会和帧缓冲区中颜⾊附着上的颜色进行混合

变换矩阵 Transformation

图形的平移 缩放 旋转变换 需要使用变换矩阵

投影矩阵 projection

用于将3D坐标变成二维屏幕的坐标 实际的线条也将在二维坐标中进行绘制

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

渲染缓冲区 一般映射的是系统的资源 比如窗口 将图像直接渲染到窗口对应的渲染缓冲区 可以将图像显示到屏幕
如果窗口只有一个缓冲区 在绘制的过程中 可能显示不出完整的图像
为了解决这个问题 常规的OpenGL程序至少有两个缓冲区 显示在屏幕上的成为屏幕缓冲区 没有显示在屏幕上的称为离屏缓冲区 一个缓冲区渲染完成后 将屏幕缓冲区和离屏缓冲区交换 来实现屏幕上的显示

OpenGL 坐标变换

物体坐标/对象坐标——>模型变换——>世界坐标——>视变换——>观察者坐标/摄像机坐标——>投影变换——>裁剪变换——>透视除法——>规范化设备坐标——>视口变换——>屏幕坐标

着色器渲染流程

顶点数据——>顶点着色器——>细分着色器——>几何着色器——>图元设置——>剪切——>光栅化——>片元着色器——>效果

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