2010-01-01から1年間の記事一覧

Relief Mapping (ピクセルシェーダによる単純なレイトレーシング)

数年前, 学生の頃にOpenGL2.0とNVidia Cgで実装したRelief Mappingの画像です.このような長方形のポリゴンの上に ピクセルシェーダで単純なレイトレーシングを行って, ポリゴン上に幾何形状をリアルタイムに描画します. 今回のリリーフマッピング用に使用し…

"Ray Engine" GPUによるレイトキャスト (ピクセルシェーダによる三角形とRayが交差する最短距離の計算)

洋書"GPU-based Techniques for Global Illumination Effects"のChapter5の"Ray Casting on the GPU"の内容について簡単に説明したいと思います. "Ray Engine"によるGPUによるレイキャストは以下の2段階から構成されています. (1) 頂点シェーダによる"三角形…

ゲームAIでのデータ駆動型設計(Data-Driven Design)について

AIのキャラクターの振る舞いを決定するパラメータをプログラムにハードコーディングして埋め込むのではなく, 例えばテキストデータとしてプログラムの外において, 動的に読み込んでパラメータを設定するようにします.利点は, C++だと再コンパイルの必要がな…

ゲームAIでのFSM(有限状態機械)やHFSMの状態遷移について

FSMでの状態遷移の方法は以下の2種類であります. 内部遷移 : FSM内部からの遷移 外部遷移 : ユーザからの入力・スクリプトによる遷移 状態遷移のタイミングにも, (a) すぐ遷移するか?(b)1フレームに1回だけ遷移するか? と場合がありますが, 少しの遅延が生じ…

”Form Factor Sampling using local lines”について

パッチ間のForm FactorをRayキャストによって計算する"Form Factor Sampling using local lines"について, 簡単に説明させていただきます.この手法では, 面積Aiで法線がNxのパッチiから半球状にRayキャストを行い, それぞれのRayが他のパッチjへ入射する回数…

遅延シェーディング ”Deferred Shading Tutotrial”の概要

遅延シェーディングのチュートリアルである"Deferred Shading Tutotrial"を復習したので, その概要について書かせていただきます. Deferred Shading TutotrialのURL http://www710.univ-lyon1.fr/~jciehl/Public/educ/GAMA/2007/Deferred_Shading_Tutorial_S…

ShaderX7 : ”Screen-Space Ambient Occlusion”の概要

ShaderX7の"Screen-Space Ambient Occlusion"について復習したので, その概略について記述します."Screen-Space Ambient Occlusion"(SSAO)はAmbient Occlusionの計算を, ピクセル単位で点P(vP)を中心とした球の内, 物体を占める空間と空いた空間の割合によっ…