android开发之OpenGL(一)

初识OpenGL

一、什么是OpenGL
1、OpenGL是一种应用程序编程接口,它是一种可以对图形硬件设备特性进行访问的软件库。
2、OpenGL被设计为一个现代化的、硬件无关的接口,因此我们可以在不考虑计算机操作系统或窗口系统的前提下,在多种不同的图形硬件系统上,或者完全通过软件的方式实现OpenGL接口。
3、OpenGL自身并不包含任何执行窗口任务,或者处理用户输入的函数。
4、OpenGL也没有提供任何用于表达三维物体模型,或者读取图像文件的操作。我们需要通过一系列的几何图元(点,线段,三角形,以及patch)来创建三维空间物体!
5、OpenGL API是过程性的,不是描述性的,即OpenGL不是面向对象的,所以OpenGL无法利用面向对象的特性。使用的时候只需要:程序与OpenGL的实现链接就可以了!
6、OpenGL的实现可以是软件实现,也可以是硬件实现。
软件实现:是对OpengGL函数调用时作出的响应并创建二维或三维图像的函数库。
硬件实现:则是通过设置能够绘制图形或图像的图形卡驱动程序
硬件实现要比软件实现快得多!!


QQ20180314-223125@2x.png

OpenGL可以用来干什么?

1、OpenGL已经诞生很长时间了,1992年7月,SGI公司发布了OpenGL的1.0版本。
2、应用领域:视频、图形、图片处理,2D/3D游戏引擎开发,科学可视化,医学软件的开发 ,CAD(计算机辅助技术),虚拟实境(AR VR),AI人工智能

OpenGL ES和OpenGL有什么关系?

1、OpenGL ES是OpenGL的子集,针对手机、PDA和游戏主机嵌入式设备而设计
2、OpenGL ES 是从 OpenGL 裁剪定制而来的,去除了 glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性,剩下最核心有用的部分。
可以理解成:OpenGL ES是一个在移动平台上能够支持 OpenGL 最基本功能的精简规范。

OpenGL程序需要执行的主要操作步骤

1、从OpenGL的几何图元中设置数据,用于构建形状
2、使用不同的着色器对输入的图元数据执行计算操作,判断位置,颜色以及其他渲染属性。
3、将输入图元的数学描述 转换为与屏幕位置对应的像素片元,也称(光栅化)。
4、针对光栅化过程产生的每个片元,执行 片元着色器,从而决定这个片元的最终颜色和位置
5、如果有必要 可以对片元执行一些额外操作。
例如:判断片元对应的对象是否可见,或者将片元的颜色与当前屏幕位置的颜色进行融合。

开发语言与编程约定

我们以后会见到OpenGL的函数多是以gl开头,因为OpenGL的函数遵循一定的命名约定,它可以告诉我们这个函数来自哪个函数库,并且还可以告诉我们这个函数的参数个数和类型。
OpenGL的函数是采用以下的书写格式:
<函数库前缀> <根命令> <可选的参数数量> <可选的参数类型>


QQ20180314-223702@2x.png

坐标系与变换

1、在开发OpenGL程序时,需要用到两个坐标系。
一个称为对象坐标系 :(物体坐标系)第一个坐标系是我们在开发中使用的坐标系。
另一个称为世界坐标系:(世界坐标系)第二个坐标系又称为窗口坐标系或屏幕坐标系,在这个坐标系中的单位是像素。
2、 在绘制的过程中,OpenGL会自动实现从对象到窗口坐标系的转换,所需要的信息是屏幕中显示窗口的尺寸和用户希望显示对象空间的大小。
3、OpenGL中所需要的坐标系变换由两个矩阵决定,
即:模型视图矩阵和投影矩阵,这些矩阵是OpenGL的状态的一部分。
设置这两种矩阵的典型步骤包括以下三个步骤:
(1) 指定我们希望修改的矩阵。
(2) 将矩阵设为单位矩阵。
(3) 修改当前矩阵为用户期望的矩阵。

OpenGL理解

QQ20180314-224025@2x.png

OpenGL是使用客户端——服务端的形式实现的。
(客户端):我们编写的程序。
(服务端):计算机图形硬件厂商所提供的OpenGL实现。
在没有OpenGL的时候,CPU与GPU之间传递数据是通过控制器内存之间传递,传递速度非常的慢,内存在复制数据时,CPU和GPU都不能操作这个数据。OpenGL很好的解决这个问题,OpenGL创建了缓存区域,能够连续的管理RAM,保证数据传输不影响GPU处理数据效率。


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

推荐阅读更多精彩内容