90 likes | 283 Views
プログラマブルシェーダによる リアルタイム CG の作成. 1104093 田中 辰弥. 研究概要. シェーダプログラミングを 用いたゲームの製作 シェーダ利用によるリアルタイム CG の クオリティ及び描画パフォーマンスの検証. リアルタイム CG (リアルタイムレンダリング). X ファイル (モデルデータ). 画面(ウィンドウ). シェーダ プログラム. ライティング設定. ワールド座標. ローカル座標. ビュー座標. プロジェクション座標. シェーダプログラミング. DirectX3D
E N D
プログラマブルシェーダによるリアルタイムCGの作成プログラマブルシェーダによるリアルタイムCGの作成 1104093 田中 辰弥
研究概要 • シェーダプログラミングを 用いたゲームの製作 • シェーダ利用によるリアルタイムCGの クオリティ及び描画パフォーマンスの検証
リアルタイムCG(リアルタイムレンダリング)リアルタイムCG(リアルタイムレンダリング) Xファイル (モデルデータ) 画面(ウィンドウ) シェーダ プログラム ライティング設定 ワールド座標 ローカル座標 ビュー座標 プロジェクション座標
シェーダプログラミング • DirectX3D 主にゲーム開発で広く利用されるマルチメディア処理用のAPI。その中の3Dグラフィックス用のコンポーネント。 • HLSLDirect3DAPIで使われるシェーダ言語。 • 3DCGのレンダリングアルゴリズム専用言語。グラフィックボードのGPUやVRAMに直接アクセスし、データ操作可能。
シェーダの種類について(1) • バンプマッピング • 凹凸のない平らな 表面のモデルに、 物体の表面の 凹凸を表現する シェーディング。
シェーダの種類について(2) • ステンシルシャドウボリューム • モデルの重ね合わせなどにより、描画しない領域を効率よく判定 するためのバッファ (ステンシルバッファ) を使い、影を描画する シェーディング。
開発環境について • DirectX SDK (November 2007) • DXUT(フレームワーク)を使用 • Microsoft Visual Studio 2005 • C/C++でプログラミング • Metasequoia • モデルデータ(ポリゴンメッシュのデータ)の作成とXファイル形式での出力
試作プログラムについて • 部屋のメッシュの壁部分にバンプマップを施す • マウス・キーでのカメラ操作
今後の課題 • シェーディングをかけることはできたが 効果的なシェーディングをかけられていない • 具体的な数値などで検証できていないので DXUTの中の描画速度(FPS)などを取得する クラスを活用し、画面上に同時にテキストで 表示し計測する • 最終的に簡単な脱出ゲームをつくり、そこに シェーダを利用する。