terrainを試してみる

この前発見したterrainノードを試してみる。
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=20940&highlight=terrain
更に先日OpenGLで試したskydomeと合体してみた。
(skydomeのソースを配布していたサイトは無くなっているぽくて見つからず)

なかなか良い感じに。現状だと地形は1000x1000の広さを乱数で初期化しているので端まで移動すると世界の果てだ。で、地形をノイズで動的に生成したら無限地面の出来上がりだと思ってその辺りを調べてみたらまさにそんな用途の乱数ライブラリを発見した。
http://libnoise.sourceforge.net/
チュートリアルの3までやってみたところでこれを三次元に応用できそうな感じがした。
このlibnoiseでHightmapを動的に生成して、irrlichtノードで3Dレンダリングするというのをやってみる予定。実用的な速度が出ると良いが果たして。

仕込んでみた


ランダム地形生成のみlibnoiseで差し替え。動的に高さを取ると速度が落ちてカクカクになったので無限地形にはしてない。裏で先読みさせるとか、使った部分をキャッシュさせるなどそれなりのシステムを作らないとだめみたいだ。無調整だとでこぼこの荒地のようになる。