开源 Augmented Reality项目droidAR介绍
项目主页:http://code.google.com/p/droidar/。
设计原理:
系统界面分为三层:GUI控制元素层,AR对象层,Camera层。
三层图像都通过ArActivity::addContentView加入到ArActivity的成员FrameLayout中去。
FrameLayout在用户不做特殊偏移设置的时候,里面的内容是叠加显示的。所以这里的三层可以重叠起来。
为了实现深度的效果,AR对象层提供了GLCamera对象。其实质就是提供Z-axis上的偏移。
系统代码可以划分为三个部分:
视图部分,即前述的三层界面,代码里面称呼为Overlays。
CameraView和普通的Camera app类似,负责打开关闭camera,并将数据写到camera层。
控制部分,控制初始化AR对象层:
模型部分,这部分都是用于显示的对象。
界面的显示流程:
CustomGLSurfaceView
GLRender::onDrawFrame
World::draw
AbstractObj::draw
MeshComponent.setMatrixAndDraw
MeshComponent.draw。