おおまかな処理の流れ 図1.処理の流れ http://www.atmarkit.co.jp/ait/articles/1110/24/news120_2.html#l_r1305.gif より引用 アプリが起動すると最初に、 jp.androidgroup.nyartoolkit.NyARToolkitAndroidActivity.java.onCreate() が呼ばれる。 アプリは AndroidManifest.xml で指定された Activity 継承クラスの onCreate()が最初に呼ばれる。 [onCreate] @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // min3D の初期化 _initSceneHander = new Handler(); _updateSceneHander = new Handler(); // These 4 lines are important. //3D レンダー準備 Shared.context(this); scene = new Scene(this); scene.backgroundTransparent(true); mRenderer = new Renderer(scene); Shared.renderer(mRenderer); //プログレスバーの表示 requestWindowFeature(Window.FEATURE_PROGRESS); //window のオプション設定 Window win = getWindow(); win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); //メインレイアウト設定 setContentView(R.layout.main); //カメラ出力のデータ領域確保 mSurfaceView = (SurfaceView) findViewById(R.id.camera_preview); mPreferences = PreferenceManager.getDefaultSharedPreferences(this); mSurfaceView.setKeepScreenOn(true); // don't set mSurfaceHolder here. We have it set ONLY within // surfaceChanged / surfaceDestroyed, other parts of the code // assume that when it is set, the surface is also set. SurfaceHolder holder = mSurfaceView.getHolder(); holder.addCallback(this); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } レンダリングエンジンは min3D を利用している。
© Copyright 2024 ExpyDoc