DirectX

DirectX

Draco を C++ と DirectX11 で触ってみる 前編

Google の Draco が公開されています。これは 3D データ圧縮ライブラリでして、 Zip よりも効率よく圧縮ができるというのが特徴です。公開されたのは2017年1月ごろの話なので、ずいぶんと出遅れている状態ですがちょっと触ってみました。 効果的に使える場面は WebGL の環境だと思いますが、あえてデスクトップPC の DirectX11 でデー...
DirectX

DwmGetDxSharedSurface を使ってみた

Windows の隠し API である DwmGetDxSharedSurface を使ってみました。 これは Windows7 以降で存在するようで、無事に Windows10 の環境でも使えました。 そのまま素直に使おうとするといくつか課題はありますが、面白い機能だと思ったので紹介することにしました。なお Undocumented API の1つなので、...
DirectX

OpenGL と DirectX11 で共有リソース

前回は NV_DX_interop 拡張で OpenGL と DirectX9 のリソース共有でした。 今回はその後続の拡張である NV_DX_interop2 を試してみたいと思います。 こちらは DirectX10 以降のリソースに対応しているようです。そこで DirectX11 と OpenGL でのリソース共有を実験してみます。
DirectX

OpenGL と DirectX9 で共有リソース

HDD の中の実験コードらを整理していたらずいぶん前に作っていた NV_DX_interop 拡張を利用したコードを発見しました。 OpenGL と DirectX9 を1つのアプリケーションの中で使い、リソースを共有して使えるという点が魅力的です。 WGL_NV_DX_interop この WGL_NV_DX_interop 拡張は名前の通り NVIDIA...
DirectX

続:メインメモリ領域をテクスチャにできる?!

以前に試したときには期待した動きにならないという結論で終わったのですが、 sygh さんのアドバイスによりエラーが解消されたので改めて確認してみました。
DirectX

GPUView の導入について

以前とりあえず GPUView を起動させてみることはやってみました。今回はそんな GPUView をもっと簡単に試せる方法が見つかったのでブログにまとめてみます。 通常の方法 簡単に使える版の前に通常の導入・使用方法をまとめておきます。 Windows Performance Kit の導入 GPUView は Windows Performance Ki...
DirectX

メインメモリ領域をテクスチャにできる?!

DirectX 9.0 Ex の話になりますが、マイクロソフトの MSDN の説明に以下のようにありました。 Applications that need more flexibility over the use, allocation and deletion of the system memory can now create textures fr...
DirectX

BC7について段階的にデコードしてみた

BC7のCPUデコーダーを作っている過程でおもしろいものが確認できたので記事にしてみました。当たり前の話ではあるのですが、視覚化されたケースって無いようなので。 BC7 はいわゆる第2世代のテクスチャ圧縮技術で、各ブロックごとに最適なモードを選択してデータを圧縮しています。このブロックがどんな風に割り当てられているかを、ブロックごとの色分けで塗ってみたら以下...
DirectX

DirectX9 と DirectX9Ex の違いをテクスチャの観点から

DirectX 9.0Ex では D3DPOOL_MANAGED が使えなくなりましたが、基本的にはデバイスロストが発生しなくなりました。そのため D3DPOOL_DEFAULT を使ってリソースを作成しても問題がなくなりました。もっとも D3DPOOL_DEFAULT でなければリソース生成に失敗してしまいますが。こんな便利になった DirectX 9.0...
DirectX

DirectX12 で画面クリアまで (祝)

DirectX12 (D3D12) を使ってようやく画面のクリアだけエラーも起こらず動作させることができるようになりました。そもそも SDK が正式版ではないので、今後変更されることもあると思います。それでも気になる人のために、コードをさらしてみたいと思います。Windows8.x以降、 Win32 アプリケーションは肩身が狭くなってきた感がありますが、ここ...