初探OpenGL

大纲

  • 推荐书籍

  • 图形API简介

  • 图形API解决哪些问题?

  • OpenGL 中的专业名词解析(简述)

  • OpenGL坐标系解析(简述)

  • 图形/图片从文件渲染到屏幕过程解析(简述)

推荐书籍

业内红宝书:《OpenGL编程指南》、蓝宝书:《OpenGL超级宝典》

图形API简介

OpenGL: 跨编程、跨平台的编程图形程序接口、将计算机的资源抽象成为一个个OpenGL的对象,对这些资源的操作抽象为一个个OpenGL指令,一般用于PC端、MAC端开发

OpenGL ES:一般用于移动端(Android、iOS、黑莓等)、游戏主机、嵌入式设备等而设计的,是OpenGL三维图形API的子集,去除了需要不必要的性能较低的API接口

OpenCV:做识别,身份证、人脸、物体等,一般和人工智能结合运用,第三方代表:face++

DirectX:只用于PC端,不是单纯的图形API,是Windows上的一个多媒体处理框架,按照性质分类,可分四大类:显示部分、声音部分、输入部分、网络部分

Metal:类似opengl es,是Apple为了解决3D渲染而推出的框架

核心动画CoreGraphics、CoreAnimation、CoreImage,在2018年之前,最终都是通过OpenGL ES API来驱动GPU进行渲染绘制显示,2018年及之后,是通过OpenGL Metal

图形API解决什么问题?

  • 系统针对按钮、图片、视图、图层渲染问题
  • 游戏引擎,人物/场景渲染(图形APi)
  • 核心动画,旋转、缩放、平移、图层特效
  • 视频硬/软解码渲染显示(图形API)
  • 视频/图片特效(图形APi)
  • 解决离屏渲染

OpenGL 中的专业名词解析

上下文(context):上下文就是巨大的状态机,面向过程的,保存了OpenGL中的各种状态,记录修改,例如:记录glColor颜色修改、记录glPointSize点大小等

渲染:图片/按钮/视频等绘制显示到屏幕的过程

顶点数组:图片显示的位置,顶点数据都存放在顶点数组里,存放在内存中,顶点数据会传给顶点着色器

顶点缓存区:为了更高效的渲染绘制,顶点数据存放在显示器处理器缓存区,也就是我们常说的GPU显存

位图:就是纹理,就是解码之后的图片数据,位图的大小:像素宽x像素高xRGBA,例如120x120的位图,大小是120x120x4=57600字节

RGBA:一个颜色占一个字节,所以RGBA占4个字节

管线:类似生产流水线

固定管线:顾名思义,固定的,从视觉(OpenGL)角度来解释的话,就是调用系统封装好的固定API,无法自定义,一切都是封装好的,只管用就可以,类似固定着色器(存储着色器)

可编程管线:顾名思义,就是可以自定义的,从视觉(OpenGL)角度来解释的话,就是在顶点着色器和片元着色器这里的时候,可以自定义,用GLSL(着色器语言)来自定义实现绘制渲染

着色器:shader(着色器)图形API,类似函数、方法,通过调用,实现不同的图形构造(GPU)

固定着色器:Apple提供API,只需要调用传参数即可,无法自定义

自定义着色器:可以自定义,基于GLSL(着色器语言)有且只能自定义顶点着色器和片元着色器(像素着色器)

顶点着色器:用来处理顶点相关代码,1、位置、2、平移、旋转、缩放等位置换算 3、手机屏幕显示3D(手机屏幕实际2D,3D图形数据->2D投影换算)

片元着色器:也叫像素着色器,处理一个一个像素点,GPU并行计算

CPU的并行,实际上只是CPU快速的一个一个线程的调度而已,GPU才是真正的并行计算

图片的饱和度调整,也是片元着色器一个一个像素点的修改

GLSL:自定义着色器语言

关栅化:不可自定义,2个过程,1、确定像素范围,2、颜色附着到像素点上去

纹理:也叫位图,解压过后的图片,png/jpeg都是压缩过的图片,因为位图比较大,在网络上传输比较消耗流量,数据也比较大,所以需要压缩一下,在最终显示的时候,需要解压缩,拿到真正的数据绘制渲染显示

混合:2个图层叠加,混合行为,会出发离屏渲染

变换矩阵:根据观察者视角、物体的变化(平移、缩放、旋转等)投影方式,就需要使用变换矩阵

投影矩阵:将3D坐标转换为2D屏幕坐标,实际线条也将在2D坐标下进行绘制,投影方式有2种:

  • 1、正投影:显示2D效果,图片绘制不管远近,1:1进行绘制

  • 2、透视投影:远小近大的效果,3D效果

物体坐标:物体自身坐标系

OpenGL 坐标系

  1. 2D笛卡尔坐标系:坐标是由x、y决定的,如图:
img
  1. 3D笛卡尔坐标系:,坐标是由x、y、z决定的,该图显示的是右手坐标系,如图:
img
  1. 视口:

    img
    img

    观察者视角约近,看到的视口越小,反之,看到的视口越大,视口可以简单理解为物体显示的区域范围,在这个范围内的物体,才能被看到

    以上图标引用了另一位优秀的博主:收纳箱

glViewport(GLint x,GLint y,GLsizei width,GLsizei height)

OpenGL ES坐标系统包括:视窗坐标、规范坐标(规格化设备坐标)、裁剪坐标、视觉坐标、世界坐标、物体自身坐标(对象坐标)

  • 世界物体照相机空间是右手坐标系

  • 规范化设备坐标系用的是左手坐标系

img

视窗坐标系

  • 视窗坐标也就是我们手机窗口对应的坐标系统,以左上角为原点
img

规格化设备坐标系

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

推荐阅读更多精彩内容