2024年4月26日发(作者:)
实验报告
一、 基本信息
1、 小组成员:
2、 投入的时间: 三个星期(每个星期大概20小时)
3、 报告日期:
二、 实验内容简要描述
1、 实验目的
熟悉交叉编译,
熟悉嵌入式的移植;
熟悉SDL,OpenGL ES 及它两的关系
2、 实验要求
了解Opengl ES和SDL,分析OpenGL ES和SDL软件构架和依赖关系;
移植Opengl ES和SDL到开发板上,实现简单的3D图形界面
3、 实验条件(软硬件环境)
软件资源
操作系统: Red Hat Enterprise Linux 4
内核: linux-2.6.20.1-xmu-skyeye
根文件系统: NFS
多媒体函数库:SDL-1.2.3
OpenGL开发库:PicoGL
交叉编译工具链: arm-linux-gcc
交叉编译工具链: arm-softfloat-linux-gnu-gcc
硬件环境
Xscale开发板 PC机
三、 实验原理
1、软件原理
(一)OpenGL ES
OpenGL是由SGI公司于1992年7月发布,是一款基于桌面操作系统、功能强大、调
用方便的底层3D图形库。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL
便是“开放图形程序接口”。
OpenGL 是与硬件无关的软件接口,可以在不同的平台如Windows95、Windows NT、
Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,
可以获得非常广泛的应用。由于OpenGL是3D图形的底层图形库,没有提供几何实体图元,
不能直接用以描述场景。但是通过一些转换程序,可以很方便的将AutoCAD、3DS等3D
图形设计软件制作的DFX和3DS模型文件转换成OpenGL的定点数组。
OpenGL包括了100多种图形处理函数,提供给用户一种直观的编程环境,可以大大简
化三维图形程序的编制。它不要求开发者将三维物体模型的数据写成固定的数据格式,允许
直接使用自己采集的数据,还可以利用其他不同格式的数据源。不仅极大节省了开发者的时
间,也提高了软件开发的效益。
由于近今几年来,手机等移动设备性能的快速提高,人们已经不满足于将移动通信设备
的应用仅止于通讯应用、记事等传统平面应用。而越来越注重移动通信设备功能的多样化、
娱乐化,手机3D游戏、GPS导航系统等代表了未来移动设备发展的方向。基于这种情况,
Khronos组织于2003年7月发布了专门针对嵌入式设备图形开发的标准OpenGL ES(OpenGL
for Embedded Systems)。
和桌面Windows的3D应用一样,移动设备要是实现3D处理也同样必须透过标准的
API。在Windows的发展进程中,有两种互相竞争的API存在,那就是Direct和OpenGL。
而移动设备自从推出以来,就一直采用的是OpenGL API的衍生标准,也就是OpenGL ES。
OpenGL ES继承了许多OpenGL的特色,其具有开放性的优点,让开发者能够更轻松的在
行动平台上开发,由于与OpenGL有很多开发规则相同,透过OpenGL开发的个人计算机游
戏也能相对简易的转移到移动设备上。
OpenGL ES虽然是OpenGL的子集,但是由于这两套图形库所应用的开发环境有很大
差别。OpenGL ES不仅继承了OpenGL良好的扩展性、跨平台性、灵活直观的操作性,同
时还针对嵌入式设备量身定做了许多新特性,主要包括:
(1) 考虑到移动平台新层面的一些问题,其中最重要的是内存应用和功耗问题。
这使得该API需要尽可能小的占用磁盘和内存空间,同时数据量的交换也必
须保持最小化,一次来保证功耗越低越好。
(2) OpenGL ES还照顾到全系列的移动设备,能够让软件渲染模式的特效尽在尽
可能多的硬件上实现。这同时也方便了开发者,这样他们可以开发软件渲染
引擎,当技术可行后无缝转移到相应的渲染特性。
(3) OpenGL ES基本上是OpenGL 1.3的子集,同时还加入了一些扩展。这使得
该API更加灵活,比如现在一些用不到的功能可以暂时删除,当内嵌硬件发
展到一定水平后,相应的功能可以从新添加回来。
OpenGL ES 工作原理与编程开发方法:


发布评论