ActionScript で 地形生成 を 4k Byte で


4k fly-through | Si+ (wonderfl.net)


本題の前にちょっと後日談。
前回、擬似屈折率について書きますと書いたのですが、あれから色々検証してみて、投稿したコードに大きな間違えが見つかりまいまして。で、修正して無事まともな Cubemap 擬似屈折ができたんですが、正直、投稿したものよりもリアリティが出ない。何でかなと色々考えてく内に、"擬似"の部分が原因であるという結論にいたりました。
ここまでは良いんですが、問題は間違ってたコードがわりと屈折っぽかったという点。明らかに間違ってるんですが、できればこっちに何とか物理的な意味合いを見出して、新しい擬似屈折アルゴリズムにしたいなー、とかグルグル考えているうちに記事が書けなくなりました。
ここら辺、オチが見えてきたら、また別の投稿で書きたいと思います。


さて、今回はちょっと変化球ということでStage3Dで4kプログラムにチャレンジしてみました。普通4kといえばコンパイル後のバイナリファイルのサイズを指すのですが、最近ではバイナリファイルを介さないLL言語が流行っているため、スクリプト文字数の制限を指す事も多いようです。wonderflではバイナリファイルは実質隠蔽されスクリプトが読めますし、何よりバイナリ最適化はめんどくさいので、今回は4096文字しばりでやってみました。
圧縮表記のテクニックはいっぱいあるのですが、そこを解説しても誰得なので、ここでは地形(テクスチャ)生成、参照、描画に絞って概説を書きたいと思います。
残念ながら、一つ解説するだけで1記事になるような様々な技術を組み合わせて使ってるので、それぞれをあまり深くは書けません。興味のある技術はキーワードを拾っていろいろ自分なりに調べていただければ、と思っています。

続きを読む