高度なシェーダー オーサリング ワークショップ GDC 2007
まとめ
このワークショップは、GDC 2007 で公開された高度なシェーダー オーサリング ワークショップに基づいています。このワークショップでは、6 つの演習を通してシェーダー モデル 4.0 HLSL のテクニックを教えます。この演習は、音楽視覚化プログラムを作成するために相互に関連付いて作成されています。ここでは、Direct3D 10 のグラフィック パイプラインと HLSL の操作に関する知識が必要となります。このワークショップは、ワークショップ フォルダーにある、付属する PowerPoint プレゼンテーションを使用して完成されています。
Source
(SDK ルート)\Samples\C++\Direct3D10\Tutorials\Direct3D10WorkshopGDC2007
一般的な演習のガイドライン
演習は相互に関連付いて作成されていますが、それらは自己完結しています。演習 02 と演習 04 を除いた各演習では、.fx ファイルを使用して作業します。コメントは、ガイドのためにコード全体に配置されています。コメントは、"Breakdancin Bob" として知られる ASCII 文字の集合で強調されています。それらは次のような形式となります。
//-----------------------------------------------------------------
// o/__ <-- BreakdancinBob TODO: Todos are areas where you need
// | (\ to change or implement code. This is where
// the actual exercise work will happen.
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// o/__ <-- BreakdancinBob NOTE: Notes are code snippets of
// | (\ interest. No work needs to be done. Just
// look.
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// o/__ <-- BreakdancinBob HINT: Hints may be found near Todo
// | (\ comments. Hints can help you if you are
// stuck with the exercise.
//-----------------------------------------------------------------
演習の解答は、名前の最後に "_Solved" が追加されているフォルダーにあります。
演習 01 - バーの描画
演習 01 の目標は、Shader Model 4.0 の構文の使用に慣れることです。最初に、アプリケーションによってバーの均一な線が読み込まれます。Wave ファイルの再生を開始するには、[Start Playback] ボタンをクリックします。[Load Wave] ボタンをクリックして、別の Wave ファイルを読み込むこともできます。演習 01 の目標は、音に反応するように、画面上にバーを描画することです。
演習 02 - パフォーマンス
演習 02 では、PIX for Windows について説明します。アプリケーションはこの例では非常にゆっくりとレンダリングします。ボトルネックを識別するための PIX for Windows の使用はユーザーの責任となります。
演習 03 - ジオメトリの増幅
演習 03 では、ユーザーは、ジオメトリの増幅を使用して、音に反応する追加のジオメトリを作成する必要があります。
演習 04 - さらに高いパフォーマンス
演習 04 では、ジオメトリの増幅を過剰に実行することによる、"考えられる" パフォーマンスへの悪影響を識別するために、PIX for Windows を使用します。
演習 05 - フロア エフェクト
演習 05 では、ユーザーは、フロア エフェクトを実装する必要があります。バーの増幅された部分は、バーの下にある面に後で適用されるテクスチャーへレンダリングされます。ぼかしやテクスチャーをバーの遠くに移動する単純なエフェクトは、既に実装されています。それ以上の面白いエフェクトの作成は、ユーザーの責任となります。
演習 06 - フロア エフェクト
最後の演習は、ほかの多くの音楽視覚化プログラムに見られるような、フルスクリーン エフェクトの作成に関係しています。演習 05 から学んだ知識は、ここでも同様に適用する必要があります。