OpenGL/OpenGL ES 入门(一):图形API以及专业名词解析

http://www.cocoachina.com/articles/28754

系列推荐文章:
OpenGL/OpenGL ES入门:图形API以及专业名词解析
OpenGL/OpenGL ES入门:渲染流程以及固定存储着色器
OpenGL/OpenGL ES入门:图像渲染实现以及渲染问题
OpenGL/OpenGL ES入门:基础变换 - 初识向量/矩阵
OpenGL/OpenGL ES入门:纹理初探 - 常用API解析
OpenGL/OpenGL ES入门: 纹理应用 - 纹理坐标及案例解析(金字塔)
OpenGL/OpenGL ES入门: 顶点着色器与片元着色器(OpenGL过渡OpenGL ES)
OpenGL/OpenGL ES入门: GLKit以及API简介
OpenGL/OpenGL ES入门: GLKit使用以及案例

一、图形API简介

  • OpenGL(Open Graphics Library):是一个跨编程语言、跨平台的编程图形程序接口,它将计算机的资源抽象称为一个个OpenGL的对象,对这些资源的操作抽象为一个个的OpenGL指令。

  • OpenGL ES(OpenGL for Embedded Systems):是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计的,去除了许多不必要和性能较低的API接口。

  • DirectX:是由很多API组成的,DirectX并不是一个单纯的图形API。最重要的是DirectX是属于Windows上一个多媒体处理API。并不支持Windows以外的平台,所以不是跨平台框架。按照性质分类,可分为四大部分,显示部分、声音部分、输入部分和网络部分。

  • Metal:Apple为游戏开发者推出了新的平台技术,该技术能够为3D图像提高10倍的渲染性能。Metal是Apple为解决3D渲染而推出的框架

二、图形API的目的是解决什么问题

简单的说就是实现图形的底层渲染

  • 比如在游戏开发中,对游戏场景/游戏任务的渲染
  • 比如在音视频开发中,对于视频解码后的数据渲染
  • 比如在地图引擎,对于地图上的数据渲染
  • 比如在动画中,实现动画的绘制
  • 比如在视频处理中,对于视频加上滤镜效果

本质:就是利用GPU芯片来高效渲染图形图像 图形API是iOS开发者唯一接近GPU的方式

三、OpenGL下专业名词解析

1、3D图形渲染API

现今较为知名的 3D 图形 API 有 OpenGL、DirectX 以及 OpenGL ES,它们各自的应用领域如下:

  • DirectX:主要应用于Windows 平台的游戏开发。
  • OpenGL:应用领域比较广泛,适用于 UNIX、Mac OS、Linux 以及 Microsof 等几乎所有操作系统,可以开发游戏、工业建模以及嵌入式设备。
  • OpenGL ES:专门针对于嵌入式设备的,其实是 OpenGL 的剪裁版本,去除了 OpenGL 中许多不是必须存在的特性,如 GL_QUADS(四边形)与 GL_POLGONS(多边形)绘制模式以及 glBegin(开始)/ glEnd(结束)等操作。

注意:基于 OpenGL ES 2.0 的 3D 应用不能在模拟器上运行,必须使用配置了 GPU(GPU 要求支持 OpenGL ES 2.0)的真机(Android 版本要求最低为 2.2)才可以。

2、OpenGL上下文context

2.1 Opengl中的context

  • 在应用程序调用任何OpenGL的指令之前,需要先创建一个OpenGL的上下文context。这个上下文是一个非常庞大的状态机,保存了OpenGL中的各种状态,这也是OpenGL指令执行的基础。
  • OpenGL的函数不管在哪个语言中,都是类似C语言一样的面向过程的函数,本质上都是对OpenGL上下文这个庞大的状态机中的某
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值