Javaゲーム制作記

いろいろ作ってます  

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | Comment(-)

グーローシェーディング+点光源!

ちょっと遅れましたが(かなり・・・?)Poly3Dのバージョン2.3(最新版)に点光源を追加しました。
ユタティーポットのデータも手に入ったので、早速赤、青、緑の点光源を配置してみました!

結果:


おお!
ティーポット恐るべしw
四角形は光源の位置です。

ちなみにグーローシェーディングなしだとこちら

やっぱりかくかくします。

さて、点光源の光の強さの求め方ですが、、、

ポリゴンの中心点をC、
ライトの位置をP、
ポリゴンの法線ベクトルをN、

とすると(いずれも全てワールド座標系)、


L = P - C
Lの正規化を行う

dot = L・N
dot = max(dot, 0)

これで求めたdotを使ってポリゴンの色を決めます。
後は平行光源と同じなので省略します...


では定番のアプレットです。
続きからどうぞ↓

Utah teapot lights demo.



マウスでぐるぐる~

念のため書いておきますが、Java3DやJOGLは一切使用していません。
プラグインが入ってなくても大丈夫です。

[ 2010/03/16 17:34 ] 3D | Comment(2)
おおおおおおおおおおおおお。
凄いですなあ。
引き続き頑張ってくださいね。
拍手ですー。
[ 2010/03/16 18:23 ] [ 編集 ]
ありがとうございます。
頑張ります!
そろそろ環境マッピングを実装したい・・・
[ 2010/03/19 15:20 ] [ 編集 ]
コメントの投稿




※URL記述の際はttp://としてください


プロフィール

saharan

Author:saharan

Twitter
検索フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。