マスコットカプセル for brew - プリミティブの描画1(カメラと光源のセット) - | 黄色のいこあんのブログ

マスコットカプセル for brew - プリミティブの描画1(カメラと光源のセット) -

さて、マスコットカプセルを用いた描画ということで
まずプリミティブの描画を。

何かっていうと、マスコットカプセルの描画データを読み込んで描画するのではなく、
アプリ内で描画するものを作成して、描画しようと。

要はカラーポリゴンとテクスチャ張ったポリゴンを描画してみようと。
テクスチャはさすがに外部からイメージを読み込みます。

以前書いた初期設定については省略。

さてプリミティブ描画は HI さんが言っている描画モード

1.リテインモード:マスコットカプセルデータを読み込んで描画
2.イミディエイトモード:内部で描画データを作成

のうち、イミディエイトモードでの描画となります。
リテインモードでは、マスコットカプセル内のデータに
・カメラデータ
・光源データ
があるので、それらを読み込むだけでいいのですが、
イミディエイトモードではそれらを自分で作成しなければいけません。

なので、作ってください。
まずカメラから。
IMICRO3Dv4es_m3dCamera_create でインスタンスを作成
IMICRO3Dv4es_m3dTransform_create でカメラ位置の変換行列を作成
IMICRO3Dv4es_m3dTransform_postTranslateや
IMICRO3Dv4es_m3dTransform_postRotate  などで上で作成した変換行列をいじくります
IMICRO3Dv4es_m3dCamera_setParallel もしくは
IMICRO3Dv4es_m3dCamera_setPerspective で射影行列を作成します。
最後にGraphics3Dに登録します

次に光源
まずマスコットカプセル、っていうか3Dプログラミングにおける光源には4種類あります。たぶん全部。
環境光とか反射光とかあるんですが、自分で調べてください。
調べて、どの光源を使うか決めてください。
IMICRO3Dv4es_m3dLight_create でインスタンスを作成
IMICRO3Dv4es_m3dLight_setMode で光の種類をセット
IMICRO3Dv4es_m3dLight_setColor で光の色をセット
IMICRO3Dv4es_m3dLight_setIntensity で光の強度をセット。
他にもいくつか設定があるのですが、何に使うんでしょう?わかりません。
最後にGraphics3Dに登録。

これらのことはイミディエイトモードで描画するときに必ず必要な作業になります。

今回はこれまで。