i-mode
OpenGL Page
ホームMacintoshOpenGLThinkPadJavaダイビング水中デジカメ


インデックス

OpenGL
作品紹介
glufo
gldice
gldisc
gloyaji
gllogo

OpenGL Tips
ゲーム
CodeWarrior

リンク
ダウンロード

影を投影する

使用するリソースファイル : string.src

gllogoではモデル全体の影を正射影によって1つの平面に投影する事ができます。

基本設定

まず以下の基本的なパラメータを設定します。

スイッチ(on/off)
0(off)もしくは1(on)で影の有無を切替えます。
材質(material)
影の材質の番号を指定します。
色(color)
影の色の番号を指定します。

投影面の設定

投影面の定義は以下のパラメータによって行ないます。

基点(base point)
平面の基点となる点をベクトル(x y z)で与えます。
法線(normal)
平面と垂直な法線をベクトル(x y z)で与えます。

投影方向(光の方向)の設定

投影方向はベクトル(x y z)で与えます。

# shadow definitions
1 2 2 # shadow : on/off material color
# projection plane definitions
0.0 -50.0 0.0 # base point
0.0 1.0 0.0 # normal
# light definitions
0.0 0.2 1.0 # normal

まず投影面については(0.0 -50.0 0.0)を基点として法線を(0.0 1.0 0.0)としています。フォントの設定で文字列の高さ(line_height)は100.0になっているため、文字列の中心からy方向に-50.0した位置は文字列のベースライン上にあります。法線はy軸に平行であることからこの平面はxz平面と平行になります。

次に投影方向のベクトルを(0.0 0.2 1.0)としています。投影面と平行に近い方向に設定することで影が長くなっています。

さらにこの例ではジッタ処理(遠方をぼかす処理)によって長く伸びた影をぼかしています。

ヒント : 影に色を付けたい時に、diffuse、ambient、specular などを指定するとモデル変換の関係で色にむらがでます。そこでそれらの色は全て 0.0 にして、emission を指定するようにするとうまくいきます。

リストに戻る


コンテンツ: [ホーム] [Macintosh] [OpenGL] [ThinkPad] [Java] [ダイビング] [水中デジカメ]

このページについてのご質問はこちらへどうぞ。
このページに用いられている3Dのロゴやボタンは全てGLlogoによってレンダリングされたものです。
このページはリンクフリーです。
著作権等についてはこちらをどうぞ。