DirectX11

DirectX

DirectX11 と Direct2D, DirectWrite で文字を描く

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

D3D11On12 を試す (1)

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

Vulkan, D3D11 InterOp

Vulkan 1.1 で クロスプロセス API の相互運用機能 が標準に含まれたようだったので、再び Vulkan と DirectX11 (D3D11) の相互運用にチャレンジしてみました。 使用した拡張名としては以下のものになります。 VK_KHR_external_memory_capabilities VK_KHR_external_memory ...
DirectX

DirectX11 でマルチフルスクリーン その3

DirectX11 でマルチディスプレイ環境で全てのディスプレイでフルスクリーンモードとしたいのに SetFullscreenState が失敗してしまう件の続報です。 この症状は、 Windows10 Creators Update 適用環境でも発生します。おそらく RTM 版から挙動は変わっていないのでは、と思います。詳しくは、前回までの記事を参照しても...
DirectX

DirectX11 でマルチフルスクリーン その2

DirectX11 を使ってマルチディスプレイをフルスクリーンモードで使いたい場合に、Windows10 では問題があるということを前回記載しました。結論としては、仮想的なフルスクリーンを実装する(=全画面を覆うウィンドウを作成&最前面)でしたが、これを今回はテストしてみたいと思います。
DirectX

DirectX11 でマルチフルスクリーン

Windwos 10 になってから、 DirectX11 の挙動で妙な点を発見しました。 以前 Windows 8.0 で OpenGL をマルチディスプレイで使った際にも変な動きがありました。それについての詳細情報は以前の日記を参照してください。OpenGL での問題の動きは Windows10 1703 でも発生していないようです。 今回の問題は、 Se...
DirectX

HLSL pow 関数の怪

pow 関数の挙動が昔と今で変わった!という話を聞いたので調査することにしました。 今回はスペキュラーの計算で使用している pow 関数の計算が妙なことになっているとのことだったので同じようにスペキュラの計算を行ってみることにします。なおインターネットで調べてみると、同じような症状に出遭っているような文面を見かけることができました。 傾き指向プログラミング ...
DirectX

ソフトパーティクルの実装方法

テクスチャとして読み込むデプスバッファと、アウトプットマージャーにセットしたデプスバッファでデプステストを使っての事例として、ソフトパーティクルがお題に合致している感じだったので試してみました。 ようやく読み込み専用 DepthStencilView を意味あるものとして使えたかなと思います。 ソフトパーティクル ソフトパーティクルとは、パーティクルに使用す...
DirectX

デプスバッファからワールド座標を復元

以前ディファードレンダリングを試していたときの続きネタになります。あのときにはワールド座標の位置も G-buffer に書き出していました。デプスバッファも別にセットして出力していたので、このデプスバッファを活用出来れば実は G-buffer としての出力テクスチャが1つ削減出来ます。
DirectX

読み取り専用 DepthStencilView

今更ですがディファードレンダリングのコードを書いていました。ポイントライトをたくさんおける仕組みなのがいいですね。 古いタイプのレンダリングコードとはまた違った感じで、入力は既に描画したテクスチャを参照してデータが入ってくるのは新鮮でした。 そのときに、既に描画済みのデプスバッファを参照しつつも、デプステストは有効にしたいというようなケースでワーニングに出遭...