現状のソースと死ぬ程簡単なサンプル。
ase3d010328.lzh101k
スナップショット用のサンプルをゲーム風なものに変更してみました。 今回テクスチャは使ってません。
今回から ase3dutils.cpp と ase3dutils.h の 2 つのファイルが増えました。
マウスの左ボタンで弾が出ます。
ま〜りんちゃん PPK で使ったファイバ君を 使って弾とパーティクルを出してるので、初心者には何でコレで弾が出るのかわからないと思います。 なので、初心者向けに地面の表示だけ手続き型な感じで書いてあります。
CAse3D の初期化は InitInstance のところで行っています。
CAse3D の描画処理は DrawWorld に書いてあります。 弾とパーティクルは CPPKFTama::Draw と CPPKTamaChild::Draw で描いてます。
弾は半透明ソーティングのデモです。ソーティングしないと結構悲惨な感じになります。
ase3d02.lzh333k
ASE3D_TINY_LIGHTING モードを実装。テクスチャをなんとなく実装。 アルファ付きのテクスチャが出てるので確認してみてヨ。
24 ビットのビットマップファイルをカラー用とアルファ用で、 二つ埋め込んであるので、ファイルがデカくなった。
まだマジライティングモードを書いてない。
サンプルのテクスチャネームの指定方法は間違いなので、 そのまま真似しないように。 必ず GenTextures で拾ったテクスチャネームで BindTexture すること。
それから、Disable( ASE3D_TEXTURE_2D ) すると 内部的に BindTexture(-1) と同じことになってるのはたぶんバグ。
ライティングはサンプルでは使ってないけど、なんとなくテスト済み。 今は Enable( ASE3D_TINY_LIGHTING ) で有効になるが、 後で Enable( ASE3D_LIGHTING ) のあと LightMode( ASE3D_TINY_LIGHTING ) で ライティングモードを切り換えるようにするかもしれない。
ase3d01.lzh143k
とりあえずグローバルレンダリングステージ用のソートを付けたので、 左ドラッグでくりくり回して半透明ソーティングが正しいっぽいことを 確認してみてヨ。
ローカルレンダリングステージ用のソートはまだ。 1行書けば実装完了するけど書き忘れた。
まだテクスチャは出ない。
ハードウェアに 3D 支援がないときどうなるかよくわからない。