03.モデルOpenGLレンダラクラスを作る
モデル描画に関する処理を担うモデルOpenGLレンダラクラスを、トラックOpenGLレンダラクラスの派生クラスとして作成します。
解説
OpenGL ES のポリゴン描画にとって効率のよいデータ構造を用意し、このデータ構造のデータを作成し、ポリゴン描画をします。
実装
プロジェクトを開く
02.で作成したモデルビューアプロジェクトを開きます。
モデルデータ構造クラスの作成
モデルデータの構造を定義するモデルデータ構造クラスを作成します。
「Project」ペインの「app > java > ドメイン.modelviewertutorial」を右クリックします。
右クリックメニュー「New > Java Class」を選択します。
Nameに、「Model」、
を入力し、「OK」ボタンを押します。
Modelクラスの中身を以下のようにします。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
モデルOpenGLレンダラクラスの作成
モデル描画に関する処理を担うトラックOpenGLレンダラクラスを、トラックOpenGLレンダラクラスの派生クラスとして作成します。
「Project」ペインの「app > java > ドメイン.modelviewertutorial」を右クリックします。
右クリックメニュー「New > Java Class」を選択します。
Nameに、「OpenGLModelRenderer」、
Superclassに、「ドメイン.modelviewertutorial.OpenGLTrackRenderer」、
を入力し、「OK」ボタンを押します。
モデルOpenGLレンダラクラスの変更
モデルOpenGLレンダラクラスを変更します。
・メンバー変数、アクセサを追加します。
・シーン描画関数をオーバーライド関数として追加します。
・モデル描画関数を追加します。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
モデルビューアビュークラスの変更
モデルOpenGLレンダラクラスの作成にあわせて、モデルビューアビュークラスを変更します。
・m_rendererメンバー変数を、OpenGLModelRenderer型に変更します。
・m_rendererメンバー変数の生成を、OpenGLModelRendererオブジェクト生成に変更します。
・コンストラクタの末尾に、モデル作成処理と作成したモデルのセット処理を追加します。
・モデル作成関数を追加します。
「Cannot resolve symbol」エラーは、「Alt + Enter」で、必要なクラスをimportします。
リビルドし、エラー、警告がないことを確認します。
実行
Android端末にて、動作確認。
正六面体が表示されます。
ダウンロード
サンプルプロジェクト
(github.com上のダウンロードページ)
関連ページ
前項目:02.トラックOpenGLレンダラクラスを作る
次項目:04.ピックOpenGLレンダラクラスを作る