DirectX

DirectX

D3D11On12 を試す (2)

DirectX12 の機能の1つで、 D3D11On12 のお試し第2回です。 前回のブログ記事でピンと来ている人もいるかもしれません。DirectX12 の場合でも今までと同様で、文字列を描画するのに手間がかかります。 DirectXTKなど他のオープンソースライブラリの力を借りれば、比較的簡単にパフォーマンスと文字列描画を自分のアプリケーションに取り込む...
DirectX

DirectX11 と Direct2D, DirectWrite で文字を描く

久しぶりに DirectX11 のコードを書いていました。初期化から画面のクリア処理まで圧倒的に短く100行くらいで終わりました。近年流行の低レイヤーグラフィックスAPIとは全然違いますね。 昔は DirectX11 の初期化コードでも長い!と思っていた頃がありましたが、今回このくらいの長さだと何も見ないでも記述できたこともあり手軽だなと思うようになりました...
DirectX

D3D11On12 を試す (1)

DirectX12 の機能の1つで、 D3D11On12 を触り始めました。DirectX12 の中ではおそらくマイナー側な機能で注目されないと思いますが、そういうものこそ「すらりん日記」には相応しいと感じてますので、紹介します。 D3D11On12 とは D3D11On12 とは、 DirectX11 の API セットを DirectX12 の上に実装し...
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 Sampler FeedbackText...
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 charac...