29.Dx11版サンプルの複数追加

今回は6つのサンプルをGitHubにアップしましたSimpleSample005からSimpleSample010です。
ドキュメントは申し訳ないですが、まだ記述してません。少しサンプルがたまった段階でアップします。

この記事は、
コミットSimpleSample004追加。ライブラリ修正あり
から、
コミットSimpleSample006修正。
の間の作業です。(コミット1つまたいでます)
GitHubサイト

https://github.com/WiZFramework/BaseCross

を参照して下さい。

前項では、Dx11の描画について、説明しました。
それで今後の作り方ですが、少しDx11版サンプルを追加していって、Dx12版については、それに合わせていくような作成方法をとりたいと思います。
理由としましては、ライブラリがある程度安定してるのはDx11版でして、それをまず作成することで、Dx12版目標のようなものができます。
そしてその目標に合わせてDx12版を作成することで、ある程度問題点も見えますし、絞り込んだ実装ができるのではと考えました。
それで、今回アップしたのは、SimpleSample005からSimpleSample010ですが、サンプルごとに、どういったところがポイントかを簡単に述べたいと思います。

また、今回の修正で、すべてのサンプルのWinMain.cppを修正しています。修正点としましてはWindowsメッセージループDirectXレンダリングの関係です。
また、例外処理とCOMの破棄の関係を修正しています。修正後はAppクラスは強制的に破棄したうえで終了することになってます。こうすることで、例外時のCOMの破棄によるアプリケーションエラーが出なくなると考えています。(ある程度特殊な例外を発生させて検証しています)

SimpleSample005について

SimpleSample005は、テクスチャ付きの頂点VertexPositionTexture型を表示するスプライト用シェーダが実装されています。
実行イメージは以下になります。

2016082201
001.png

通常スプライトはライティングは行わないので、この頂点型を使うか、ここに、頂点色を加えたVertexPositionColorTexture型を使用するといいと思います。
VertexPositionColorTexture型のサンプルはSimpleSample008です。

SimpleSample006について

SimpleSample006SimpleSample005とほぼ同じですが、デフューズ色を動的に変更しています。特にw要素(透明度)の変更の効果を確認したもらえればと思います。
実行イメージは以下になります。

2016082202
002.png

SimpleSample007について

SimpleSample007動的なUV値の変更ラッピングサンプラーのサンプルです。
とくに動的なUV値の変更頂点データの動的な変更の具体的な例です。

実行イメージは以下になります。

2016082203
003.png

SimpleSample008について

SimpleSample008は、SimpleSample007の背景をVertexPositionColorTexture型にしたものです。テクスチャの模様色と頂点カラーを組み合わせることで、面白い効果を出すことができます。

実行イメージは以下になります。

2016082204
004.png

SimpleSample009について

SimpleSample009立方体です。頂点カラーを設定してグラデーションを表現してます。
実行イメージは以下になります。

2016082205
004.png

SimpleSample010について

SimpleSample010立方体のライティングです。法線の方向によって、フラット、にみせるか、もしくは、面をはっきり見せるか、の表現ができます。
実行イメージは以下になります。

2016082206
005.png

以上、それぞれ簡単なサンプルですが、頂点やコンスタントバッファ内のデータなどを、静的、動的に変更することでいろんな表現ができることがわかります。このあたりのサンプルは基本的であるからこそ、必ず知っておかなければならない技術と考えられます。
シンプルバージョンのサンプルは、しばらくこういったサンプルが続きます。

それではこの項はこの辺で。
次回もよろしくお願いします。

カテゴリー

ピックアップ記事

  1. 2016092201
    今回は前回のサンプルを少し機能を追加しまして、いろんなオブジェクトを追加しています。FullTuto…
  2. 2016092001
    前回更新から時間がたってしまいましたが、今回はフルバージョンチュートリアル003をアップしました。内…
  3. eyecatch
    前回更新から時間がたってしまいましたが、今回はフルバージョンチュートリアル002で懸案となっていまし…
PAGE TOP