DirectX

DirectX

DirectX12 の書籍 「DirectX 12の魔道書」

自分も同人誌で DirectX12 や Vulkan のプログラミングの書籍を作っていますが、とうとう商業誌として DirectX12 の書籍が登場するようです。600ページを越えるかなりのボリューム感となっていますが、 DirectX12 をしっかり説明しつつ入門となるとこのくらいになってしまうのかもしれないですね。 内容としては、MMDモ...
DirectX

DirectX12 でテッセレーション

DirectX12 でのテッセレーションを確認してみています。テッセレーション自体は DirectX11 から使えるようになっているものですが、あまり事例を見かけないかなと思います。頂点シェーダーやピクセルシェーダーのように必須のものではありませんし、色々と制御が難しかったりしています。今回はテッセレーションの基本的な部分について、自分のメモです。 ...
DirectX

DirectX12 でシングルパスキューブマップ描画

DirectX12 で、ジオメトリシェーダーを用いてシングルパスでキューブマップ6面を描画を行う手順を確認しました。以前に各キューブマップ面毎に描画する方法は紹介しました。ジオメトリシェーダーを使うと1回の描画で6面へ描画ができます。 レンダーターゲットビュー・デプスステンシルビューの準備 描画先とするために、レンダーターゲットビューとデプスス...
DirectX

Windows10 20H1 での DirectX12 周辺の拡張の話

とうとう DirectX にも Mesh Shader が来るのかもしれません。 Microsoft のブログによると、 Windows10 の次のバージョン 20H1 にて次のような拡張が入りそうな感じです。 DirectX RayTracing Tier 1.1DirectX Mesh ShaderDirectX Sample...
DirectX

ID3D12InfoQueue のお世話になった

描画用キューブマップを各面毎にクリアしたときに警告を出してしまったので、これらについて対処するための小ネタです。 レンダーターゲットを動的なカラーでクリアすると警告 レンダーターゲットを任意のカラーでクリアするとワーニングが発生します。レンダーターゲット生成時に指定したカラー値(デプス値)と違ったものでクリア処理を呼ぶと、パフォーマンスの観点か...
DirectX

DirectX12 でキューブマップ

DirectX12 でキューブマップを使ってみます。 今回は素直な実装で、キューブマップへの描画&利用についても試してみました。 キューブマップは DirectX10 以降では、2Dのテクスチャ画像を6つ保持するテクスチャ配列です。 この6つの面に、±X, ±Y, ±Z の方向を向いた3Dシーンが描画されています。これを環境マップとして使用して、反射...
DirectX

DirectX Shader Compiler でワーニング(in C/C++)

自分の C/C++ コードの中で DirectX Shader Compiler を使って、シェーダーをコンパイルするときに妙なものに出会いました。 シェーダーのソースコードからコンパイルしてバイナリデータは正常に得られるのですが、次のようなワーニングに出会いました。 renderCubemap.hlsl:39:2: warning: null ch...
DirectX

DirectX12 でジオメトリシェーダーを活用

DirectX12 でジオメトリシェーダーを使って遊んでみています。前回はポイントスプライトをやってみたので、今回はもう少し遊べるものをやってみました。 ひとつのアイデアとして、カメラのニアクリップに掛かる前に、ジオメトリシェーダーでよろしく処理をするというのを見かけました。通常カメラのニアクリップに掛かると、ポリゴンが欠けるようか割れるというか、あ...
DirectX

最新 VisualStudio と DirectX 9.0Ex で戦う 3Dプログラミング

はじめに DirectX 9.0c は長い間3Dプログラミングを支えてきました。 Windows XP のころから、現在の Windows10 に至るまで動作環境としては幅広いです。そして、長い間使用されたこともあって、インターネット上には多くの参考情報が残されています。 残念ながら現在の Visual Studio の環境では、当時のビルド設...
DirectX

DirectX12 でポイントスプライト

DirectX12 でジオメトリシェーダーを使った話をあまり見てなかったので、ちょっと試してみようと思います。ジオメトリシェーダーといえばプリミティブを生成できる特徴があるので、ポイントスプライトなどをやってみました。 描画手順 頂点データとしては位置情報を与えて、それを頂点シェーダーで座標変換します。その後、ジオメトリシェーダーで四角形を生成して描画します...
タイトルとURLをコピーしました