ホームに戻る
 ビルボード

図13_00:マウスを使って立体は回転するが 十字は常にこちらを向く

ソースコード:glut13_billboard.c
 解説

ビルボードとはもともと道路横に置かれた看板などを意味する。
3Dグラフィックでは常にこちらを向く四角形のこと。

例えば火の粉を発火点からいろいろな方向に飛ばしたい場合、
火の粉をポリゴンで描画するのが難しいのであれば、
火の粉のテクスチャを貼ったビルボードを飛ばせば良い。
3D空間で常にカメラ方向から読める文字を飛ばすときにも使える。

OpenGL は通常でビルボードサポートしないので、
自力で処理を書いてやる必要がある。

原理は簡単で、
移動は中心座標(x, y, z)で行い四角形を、

(x - size, y - size, z)
(x - size, y + size, z)
(x + size, y + size, z)
(x + size, y - size, z)

の4点で表示すれば良い。

注意点は透明や半透明の物体を描画するときで、
この場合、先に不透明なものを描画し、透明や半透明のものは
デプスバッファを評価しながらデプスに書き込まない方法を使う。
ただし、こうすると手前のものを描いたあとに奥のものを描く場合、
奥のものを手前のものの前に描いてしまう問題が発生する。
よって、自力でソートをかけて奥から描画して解決する。。

このあたりは必要に応じて対応はいろいろだと思う。

inserted by FC2 system