03.モデルOpenGLレンダラクラスを作る

(開発環境として「Eclipse」を使用した、古い情報です。
 開発環境として「Android Studio」を使用した、新しい情報は、
 「ホーム > プログラミング > モデルビューアを作る ( Android + OpenGL ES 1.0/1.1 ) ( Android Studio 2.3.3 版 )」)



モデル描画に関する処理を担うモデルOpenGLレンダラクラスを、トラックOpenGLレンダラクラスの派生クラスとして作成します。

使用開発環境は、Eclipse 3.7.2 ベースの Pleiades です。

解説

OpenGL ES のポリゴン描画にとって効率のよいデータ構造を用意し、このデータ構造のデータを作成し、ポリゴン描画をします。

実装

プロジェクトを開く

02.で作成したモデルビューアプロジェクトを開きます。

モデルデータ構造クラスの作成

モデルデータの構造を定義するモデルデータ構造クラスを作成します。

パッケージエクスプローラで、作成したプロジェクトの下の「src」の下の作成したパッケージを右クリックし、 右クリックメニューの「新規 > クラス」 を選択します。


名前 にクラス名「Model」、
を入力し、「完了」ボタンを押します。

Modelクラスの中身を以下のようにします。

モデルOpenGLレンダラクラスの作成

モデル描画に関する処理を担うトラックOpenGLレンダラクラスを、ベースOpenGLレンダラクラスの派生クラスとして作成します。

パッケージエクスプローラで、作成したプロジェクトの下の「src」の下の作成したパッケージを右クリックし、 右クリックメニューの「新規 > クラス」 を選択します。


名前 にクラス名「OpenGLModelRenderer」、
スーパークラスに、「OpenGLTrackRenderer」、
を入力し、「完了」ボタンを押します。

モデルOpenGLレンダラクラスにメンバ変数、アクセサの追加

モデルOpenGLレンダラクラスに、メンバ変数、アクセサを追加します。

シーン描画関数のオーバーライド

モデルOpenGLレンダラクラスに、シーン描画関数をオーバーライド関数として追加します。

モデル描画関数の追加

モデルOpenGLレンダラクラスに、モデル描画関数を追加します。

モデルビューアビュークラスの修正

モデルOpenGLレンダラクラスの作成にあわせて、モデルビューアビュークラスを修正します。

・m_rendererメンバ変数を、OpenGLModelRenderer型に変更します。
・m_rendererメンバ変数の生成を、OpenGLModelRendererオブジェクト生成に変更します。
・モデル作成処理と作成したモデルのセット処理を追加します。

実行

Android Virtual Device にて、動作確認。

※ ターゲット:「Android 4.0.3 - API Level 15」、ハードウェア:「GPU emulation」をyes、として作成したAndroid Virtual Device にて動作確認。

ダウンロード

サンプルプロジェクト

関連ページ

前項目:02.トラックOpenGLレンダラクラスを作る

次項目:04.ピックOpenGLレンダラクラスを作る