这篇文章主要描述如何利用移动3D图形API(Mobile 3D graphics API,m3g,又称为JSR-184)来建立一个3D的场景。
在这个3D场景的例子中,我们有一个活动的照相机(译者注:照相机就相当于观察者的位置),它聚焦在我们唯一的一个3D对象——一个旋转的棱锥上。源程序可以在本文的最后下载。
所有在场景中用到的对象都在M3GCanvas的构造函数中进行初始化。
我们首先建立一个Graphis3D对象,并且利用它来渲染屏幕。World对象包含了所有在 场景中用到的对象和照相机的信息。
照相机利用setPerspective方法设置在它前端的坐标系统中的0.1到50单位范围内的对象,都应该是可见的。
因为照相机和棱锥都定位在xyz(0.0f, 0.0f, 0.0f)的位置上,所以为了看到棱锥,我们必须把它移动到屏幕内。这个操作由Mesh类里的setTranslation方法完成。
//得到一个Graphics3D的实例
g3d = Graphics3D.getInstance();
world = new World();
//向world中增加camera
camera = new Camera();
world.addChild(camera);
// canvas的宽和高
float w = getWidth();
float h = getHeight();