Copyright (C)2008 kei 2008/11/10 初版 2009/02/09 追記 NintedoDS でメタセコファイル(.mqo)を読み込み・表示するクラス 2009/02/09 追記 ----------------------------------------- 「あの楽器」ano.ndsに付けているソースの方が新しいです。 ano.zip->develop->arm9/include/cGLMetaseqParent_nds.h ano.zip->develop->arm9/include/cGLMetaseq_nds.h ano.zip->develop->arm9/include/endianConnverter.h ano.zip->develop->arm9/include/texturePool_nds.h 変更点 ・四角ポリゴンは四角ポリゴンのまま処理するように変更 ・メモリの使い方を整理。使用メモリを削減 ・一部コンテナクラスを配列に変更(ファイル書き出しの準備) ----------------------------------------------------------    mqoviewer_nds.ndsの説明は「Readme_mqoViewer_nds.txt」にあります。 ☆改変・再配布自由です。 開発環境 devkitPro 1.4.7 動作確認 ・WinXP + DeSmuME ・R4 + DS-light  (DeSmuMEはVram回りの取り扱いが実機と違うようでした) クラス説明は各ヘッダファイルの頭に書きました。 (PC版のコメントやらソースの残骸やらは脳内削除の方向でおねがいしますね) ・arm9/include/texturePool_nds.h テクスチャ管理クラス ・arm9/include/cGLMetaseqParent_nds.h  cGLMetaseq生成クラス ・arm9/include/cGLMetaseq_nds.h  メタセコファイル情報保持/描画クラス DSでメタセコファイルを表示させるときの注意点とか ☆テクスチャのサイズはかなりキツメ  vramバンク1個で256x256が1枚分です。  texturePoolのコンストラクタで読み込み最大サイズを指定出来るようにしてます。  ex.)texturePool(TEXTURE_SIZE_128) ; 256x256のビットマップも128x128に間引きして読み込みます。  他にやり方がある気もしますが、とりあえず。。。 ☆どうも表示できるポリゴン数の限界がかなり低いです。  glPolyFmt(xxxx| POLY_CULL_BACK); とかしないと2500ポリゴンぐらいのミクも全部表示出来ません。 ☆DSの頂点座標はv16(1.3.12固定小数点)なので  読み込み時に-8.0〜8.0の範囲に変換してます。  (連番のものは全て読んでからスケール変換の計算をするので時間かかります…) ☆マテリアルの設定をすると(cGLMetaseqはマテリアル設定してます)  glPolyFmt(xxxx | POLY_FORMT_LIGHTx);  glLight(x,...);  の様な光源設定をしないと表示されないと思います。 ☆glFrontFaceが無いので、面に対する頂点の並びを手動で変えないと行けない。  (メタセコの頂点並びはOpenGLの並びと逆) ☆メタセコファイル読み込み部分はPC版とあまり変わってません。  マジメに手を加えれば高速化できるカモ…