黄色のいこあんのブログ -5ページ目

マスコットカプセル for brew - プリミティブの描画2(プリミティブの用意) -

前回はカメラと光源の設定まで行いました。

今回気づいたのですが、確かにHIが出している各サンプルコードはよくできています。
こんなブログを読むよりもサンプルを読んだほうが早い気もしますが、まぁ文章を書く練習にもなるので
つらつらと続けていこうかな、と思っています。

さて、プリミティブを用意するにあたり、必要なものがあります。
それは
・プリミティブの頂点座標列
・プリミティブの法線列
・プリミティブの色配列
・上記3つをセットするすとりっぷとらいあんぐるだかなんだか
・プリミティブのテクスチャ座標配列(テクスチャ未使用なら必要なし)
・プリミティブのマテリアル設定
・プリミティブのアピアランス設定

たぶんこんなもんで描画できるはず。

必要なら
コンポジッティングモードとか変換行列とか作って下さい。
半透明にするにはコンポジッティングモードが必要になります。
これはのちほど。

各作成方法などは、ソース貼り付けるのめんどくさいのでサンプルでも見てください。
ってか、そんぐらいしてください。



今回はここまで。
次はいよいよ描画!

マスコットカプセル 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に登録。

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

今回はこれまで。







brew 開発環境構築

そもそも brew の環境構築について何も書いてなかったのに気づいたので書くことに。

これが唯一の方法ってわけではもちろんないのでしょうが、
まぁ会社で教わったのがこれだったので、そのまま行きます。

エディタっていうか開発環境として VC++ を使用します。
適当にググってDLしてください。

開発するのに
・SDK
・mifEditor
が必要になります。
リソースエディタもあるといいかもしれません。

これらは qualcomm のサイトに行って会員になれば手に入るはずです。
会員へのなり方は知りません。
開発企業じゃないとなれないのかな?
ここらへんが doja と違ってやっかいですよね。
MID P についてはよく知りません。触ったことがないです。

SDK手に入ったら、展開してパスとおしておしまい。
以上。