android之OpenGL、OpenGL ES初步

2 篇文章 0 订阅
1 篇文章 0 订阅
 

OpenGL(open graphics library,开放图形库)是一种2D和3D图形API,它在几乎所有的操作系统上得到了广泛的应用,是许多的游戏、CAD甚至是VR(virtual reality,虚拟现实)的基础

了解OpenGL规范的更多的信息可登陆:www.khronos.org/opengl/

查看OpenGL的官方文档页信息可登陆:www.opengl.org/documentation/

官方的文档页上有大量的专用于OpenGl的书籍和在线资源。黄金标准是:OpenGL Programming Guide:The Official Guide to Learning OpenGL,version 1.1,这本书被称为是OpenGL的“红皮书”,查看这本书可以访问:www.glprogramming.com/red/

 

OpenGL ES是针对嵌入式系统设计和其他低功耗设备(比如手机)的一个小型而优化的OpenGL版本,是一种基于C的平面API。他们都由OpenGL标准行业协会(Khronos Group)管理。这个协会还管理了另外一个与OpenGL相关的标准EGL(EGL Native Platform Graphics Interface,本地平台图形接口,简称EGL),EGL标准在本质上是基础操作系统与OpenGL ES提供的呈现API之间的支持接口,因为OpenGL和OpenGL ES都是拥有绘图的通用接口,所以每个操作系统都要提供一种标准承载环境来与OpenGL和OpenGL ES交互。

查看EGL文档可访问www.khronos.org/opengles/documentation/opengles1_0/html/index.html  在这个文档中指定并解析了每个OpenGL ES API

 

OpenGL ES的目标是低功耗的移动设备,因此它必须比OpenGL精简,它不得不删除了一些OpenGL的功能,例如OpenGL ES无法直接支持矩形的绘制,它必须要用两个三角形来构建一个矩形。由于OpenGL ES是一种基于C的平面API,而android sdk是基于java的API,所以就需要提供一种OpenGL ES和java绑定的机制。java me中已经在JSR 239:Java Binding for the OpenGL ES API中定义了这一绑定,可以通过:http://java.sun.com/javame/reference/apis/jsr239/找到JSR 239的文档,此文档可以帮助了解OpenGL ES中可用的API,此文档中的java.nio包是必不可少的,因为OpenGL ES为了提高效率仅接受字节流作为输入,这个nio包中定义了许多的实用程序来准备在OpenGL中使用本地缓冲区。

android sdk文档中也有OpenGL的说明,该文档表明android实现与JSR 239基本相同,但是也有一些地方存在差异

 

JSR 239 只是本地OpenGL ES标准上的一种java绑定,java还提供了另外的一种API实现在移动设备上处理3D图形,就是M3G(Mobile 3D Graphics API,移动3D图形API),M3G是一种轻量型、面向对象、交互式的3D图形API。只是android目前还不支持M3G。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值