Chinaunix首页 | 论坛 | 博客
  • 博客访问: 424453
  • 博文数量: 205
  • 博客积分: 5630
  • 博客等级: 大校
  • 技术积分: 1945
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 20:28
文章分类

全部博文(205)

文章存档

2016年(1)

2015年(6)

2014年(9)

2013年(10)

2012年(53)

2011年(25)

2010年(87)

2009年(14)

分类: 嵌入式

2010-01-25 10:47:13

软件3D引擎由OpenGL ES函数组成,函数的具体实现由软件算法完成,在android系统中,软3D引擎文件主要在路径:

\mydroid\system\core\libpixelflinger

\mydroid\frameworks\base\opengl\libagl

头文件:\mydroid\frameworks\base\include\private\opengles

        \mydroid\system\core\include\private\pixelflinger

        \mydroid\system\core\include\pixelflinger


    下面具体分析每个文件所包含的内容:

gl_context.h    基础的头文件,里面列出了数据主要结构,分类,详细说明了数据间的层次关系,基本上函数调用关系,指针方向,都能从这里找到层次关系。这里及其它的文件中,大多都存在namespace android结构,可以看到这里主要放置了3D方面的函数和关系,很多是标准OpenGL ES函数调用的函数和结构。这个文件中,gl是主结构,下面的ogles_context_t结构是许多3D函数用到的结构关系。


ggl_context.h    也列出了一些主要结构,还定义一些主要数据,及数据赋值、运算函数


array.cpp    定义数值,绘画,渲染函数  在namespace android结构中,有一些3D绘画函数,如画点,画线,画三角等,往下会调用到primitives.cpp里面的函数,是更简单些的绘画函数。


matrix.cpp    矩阵,位置,窗口,深度函数,下面调用的函数基本在namespace android结构中,关系从gl_context.h能找到。


light.cpp    光照,阴影,雾化效果,一些运算会用到fixed文件里面的函数


state.cpp    颜色,深度,状态等情况   原型在pixelflinger.cpp中


texture.cpp    纹理方面函数,会调用到mipmap.cpp里面的函数


pixelflinger.cpp    缓冲,功能开关,重要的操作函数,里面的主函数调用到trap.cpp,picker.cpp,buffer.cpp,


clear.cpp    清除,刷颜色,可以看到里面调用了内存操作函数,要与系统配合


fixed.cpp  ggl_fixed.h  一些用到的数据算法,赋值操作


egl.cpp 

阅读(944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~