基于vxworks操作系统的三维图形驱动开发new

基于vxworks操作系统的三维图形驱动开发new

ID:33696309

大小:227.82 KB

页数:4页

时间:2019-02-28

基于vxworks操作系统的三维图形驱动开发new_第1页
基于vxworks操作系统的三维图形驱动开发new_第2页
基于vxworks操作系统的三维图形驱动开发new_第3页
基于vxworks操作系统的三维图形驱动开发new_第4页
资源描述:

《基于vxworks操作系统的三维图形驱动开发new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据第22卷第2期2009年4月四川理工学院学报(自然科学版)JournalofSichuanUniversityofScience&Engineering(NaturalScienceEdition)V01.22No.2Apr.2009文章编号:1673—1549(2009)02-0062-03基于VxWorks操作系统的三维图形驱动开发张种,赵刚,江勇(四川大学电子信息学院,成都610064)摘要:通过对Mesa3D库的移植及改进在VxWorks中实现了基于OpenGLl.3的图形API函数,解决了VxWorks下图形驱动开发组件WindML3.0不能使用标准图形API进行图形应用

2、程序开发,不能支持3D图形显示的问题。同时利用硬件双缓冲技术解决了实时显示中画面闪烁、抖动的问题,提高了图形显示的质量。关键词:VxWorks;WindMl.3.0;OpenGL;Mesa3D;双缓冲技术中图分类号:TP316.2文献标识码:A引言随着嵌入式技术的不断发展,嵌入式系统的功能和结构日趋多样化和复杂化,已不再满足于简单图形的显示,对三维真实感图形的显示以及交互式用户界面提出了更高的要求。VxWorks是由美国风河公司推出的一个嵌入式实时多任务操作系统,当前VxWorks下的图形开发主要使用WindML来完成。虽然WindML支持丰富的显示方式、具有较快的显示速度、开放源代码等优

3、势,但是WindML在以下两个方面的不足也限制了其进一步的发展。(1)WindML提供的图形API函数根本不能同现有业界标准DirectX或是OpenGL兼容,这在很大程度上影响了代码的可移植性。(2)WindML现有的图形API函数只支持简单的二维图形显示,根本不支持三维图形,这极大的限制了VxWorks下图形显示的开发,很难满足日益增长的对图形显示方面的要求。因此在WindMl3.0中实现对OpenGLAPI的支持就很有现实意义。lVxworks三维图形引擎的总体架构图形引擎在操作系统中可以视为一个独立的模块,其实质就是作为显示硬件的驱动程序,为应用程序的编写提供接口函数,同时在该操作

4、系统中协调CPU与显示硬件芯片(GPU)之间的通信以及相应的内存管理等。从这个意义上说,要在一个操作系统中构建出一个完整的图形引擎至少应该包括以下三大功能模块:与CPU通信模块、图形芯片初始化模块、标准图形库函数模块。与CPU通信模块主要负责提供CPU与GPU之间通信总线的驱动程序。以PCI总线为例,这个模块必须实现查找PCI设备、读写PCI配置空间,以及实现PCI中断控制等功能,协助CPU完成内存映射的任务。图形芯片初始化模块负责初始化图形芯片,包括创建并向系统注册显示设备、完成内存映射、正确设置显示模式、销毁设备等,这个模块必须使GPU处于准备好的状态,随时接收并完成绘制图形的任务。标

5、准图形库函数模块负责在底层硬件上实现符合业界标准的图形库API函数(比如OpenGL或是DireetX)。2Mesa3D的移植及改进2.1Mesa3D的移植Mesa3D是一个兼容OpenGL规范的开放源码的函数库,是目前Linux上提供专业三维图形支持的惟一选择。Mesa3D同时也是一个跨平台的函数库,能够运行在XWindow、XWindowwithDGA、BeOS、LinuxSVGALib等平台上。从编译原理上来说,Mesa3D的移植就是要将Mesa的源代码(.c文件)编译成模块文件(.O文件),使其能成为一个功能模块加入到最终的VxWorks镜像中。但是Mesa3D并不是专门为VxWo

6、rks编写的,因此必须从源代码中选取那些实现OpenGL基本功能的源文收稿日期:2008-12-23作者简介:张种(1982一),男,四川内江人,硕士生,主要从事嵌入式系统设计方面的研究。万方数据第二乏卷第2期张种等:基于VxWorks操作系统的三维图形驱动开发63件,同时还应根据系统硬件配置实现Mesa3D库与WindML的接口。最后将所有的文件单独编译生成相应的模块,再链接进人VxWorks镜像文件中。根据笔者的实践,要将Mesa3D移植到WindML3.0并能实现所有的OpenGLAPI函数,以下文件是必须要加入工程,并且需要根据系统的硬件情况进行修改,具体的修改处理情况如下。(1)

7、所有实现OpenGL标准功能的文件。在Mesa3D中,OPOnGL按照功能分成以下部分:缓冲区操作文件(如buffer.c、accunl.c、stencil.c等)、像素操作文件(如drawpix.c)、纹理操作文件(如texiformat.c、teximage.c、texstore.c等)、光照实现文件(如light.c)、基本图元(点、线、多边形)实现文件(如lines.c、polygon.C等)、光栅化操作文件(如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。