note.x

3D engine studies 111111

もろもろ機能追加。日付だけが重要なエントリー。

ランバートのみじゃあんまりなのでフォン実装。なんかいろいろおかしい気もするけど、ひとまず良しとした。.blendのパース時に手を抜いてたフェイス定義を修正。共有すべき頂点は共有するように。

Phong Shading Test(要:FlashPlayer11)

ビルボード実装。

Billboard Test(要:FlashPlayer11)

keim_at_siさんのエントリー「ActionScriptでPoint Sprite」と同じように4頂点を座標変換した後、上下左右に各頂点を移動させる方法で常にカメラの方向を向くようにしてる。

ポリライン実装。

Poly-line Test(要:FlashPlayer11)

Stage3DにはGL_LINE相当の描画モードが無いので線を描くことができない。以前Twitter経由で、9ballsyndromeさんに教えて頂いた http://forums.adobe.com/thread/886188?tstart=0 の方法で、見かけ上ワイヤーフレーム表示することもできるけど、これはサーフェスのエッジ部分だけ描画する方法なので、ポリゴンを真横とか真上から見たりすると線が表示されなくなる。うまい方法無いもんかと悶々とし続けた結果、これも2枚の三角ポリゴン使って描くしかなさげだという結論に達したのでそうした。

頂点を座標変換するところまではビルボードと同じ。各頂点を移動する処理の部分で、ラインの始点・終点の接線ベクトルと視線ベクトルの外積を取って、その方向に線の太さ分移動させてる。欠点として、ラインの接続部分が綺麗じゃなかったり、カメラに真っ直ぐ向かってくるラインの表示が破綻したりするので改善の余地あり。

Game Programming Gems 3 に載ってる Billboard Beams でごまかせそうだという情報を得たので、本屋で立ち読みして何となく把握した。静岡市立図書館にGame Programming Gems置いてくれ。


Trackback URL : http://blog.r3c7.net/as3-stage3d/632/trackback/

Leave a Reply