GLSL 海に浮かぶ物体の反射表現テスト | puarts.com
映像・CG・画像処理関連の技術情報、個人作品の創作記録、メモなど
Category

GLSL 海に浮かぶ物体の反射表現テスト

公開日: 2016/02/07 | カテゴリ: OpenGL | タグ:

最近作っていた GLSL 海シェーダに、静的な環境光の反射だけでなく、海に浮かんでいる物体の反射を表現できる機能を追加しました。

物体の反射表現に関しては、騙し騙しの方法なので、色々と試行錯誤が必要で苦労しました。やったことを書いておきます。

  • 海に浮かぶ物体を描画。
  • 海に浮かぶ物体をカメラのY座標、エイムのY座標を反転させて、本物を描画したFBOとは別のFBOに描画(元のFBOは後で深度値を利用するので汚さないため)。このとき、Y座標(高さ)に応じてアルファ値を下げておく(水面に映るときに物体との距離が離れるほど淡い反射になるようにするため)。
  • 反転させて描画した物体をスクリーン座標系でY軸反転。
  • 本物を描画したバッファと同じカラーバッファに海となる平面を描画。このときスクリーン座標系で物体を反転描画したカラーバッファをテクスチャとして、視点から投影マッピングでアルファブレンドではりつける。また、テクスチャをフェッチするときに、頂点シェーダで歪ませた法線を利用してX軸のテクスチャ座標のみ歪ませる(Yを歪ませると本物と物体のYの位置関係がずれて違和感があったため)。
  このエントリーをはてなブックマークに追加  


にほんブログ村 デザインブログ グラフィックアートへ
Links

参考になりそうなブログやサイトを見つけたら勝手にリンクを貼らせてもらっています。
リンク削除を希望の場合はお手数ですがメールにてご一報下さい。
Ke-Sen Huang's Home Page        Disney Research        VIDEO COPILOT        AbandonedArt.org
ryoji ikeda        チームラボ        トルク with AR三兄弟        DAITO MANABE

Copyright(C)2006-2017 wsp All Rights Reserved