Vulkan

Raspberry Pi 4 で Vulkan を試す

Raspberry Pi 4 で Vulkan API を用いた描画が出来るようになったと聞いたので早速試してみました。試すまでの手順を説明します。 Raspberry Pi の準備 Raspberry Pi OS (32bit)をダウンロードして書き込みます。これについては手順は各所で語られているので割愛します。 まずはパッケージリスト更新します。更新でき...
Hyper-V

VMware Workstation 15.5.5 への更新

Windows10 2004 バージョンにしたことで WSL2 が使えるようになりました。 VMware Workstation を愛用している自分にとってはHyper-V との両者の共存が課題でした。今までは Hyper-V を使わないということで対処してきて、使っても WSL1 で仮想化を要求しないもので乗り切ってきました。 今回、 VMware Wor...
DirectX

定数バッファはバッファリングしよう in DirectX12

当たり前の話ではあるのですが、たまに「バッファリング気にせずにコードが書かれているのでは?」と感じることがあったので本記事を書くことにしました。 バッファリングしないとどうなるか バックバッファ分の定数バッファを用意して、描画用と更新用のデータがかぶらないようにする必要があります。と、よく説明されているのですが、実際にどうなるかの撮影に成功したので貼っておき...
DirectX

DirectXShaderCompiler 使用時のシェーダーリフレクション

シェーダーコードのリフレクションを皆さんは使用していますか?DirectXで長らく使われてきた D3DCompiler (fxc) を用いて作られたシェーダーバイナリについては、 D3DReflect 関数を用いてシェーダーリフレクションにアクセス出来ます。 近年は徐々に fxc から dxc へ、DirectX Shader Compiler を使用する場...
DirectX

Vulkan でも IDXGISwapChain を使う

今回の記事は実験的なネタです。 DirectX では描画結果を画面に反映するのに IDXGISwapChain を使用します。一方 Vulkan では VkSwapchainKHR を生成して描画結果を画面に反映します。それぞれのAPIがそれぞれの SwapChain を使うように出来ているのですが、ここで敢えて Vulkan の描画結果を DirectXの...
DirectX

DXRを始めてみました

先日 NVIDIA の DXR Tutorial を試してみて、DXR界隈に第1歩を踏み出しました。あれからもうちょっと理解が進んだので、そのメモというか記録です。ようやくテクスチャを使ってみるところに到達です。 あれからどうしたか チュートリアルをやった結果、便利なヘルパー関数を使わずにもう1度最初から始めてみました。また1つずつ積み上げて影が落ちている状...
DirectX

NVIDIAが紹介する DXRのチュートリアルをやってみた

NVIDIA が DirectX Raytracing のチュートリアルを公開しています。遅ればせながら、このチュートリアルをやってみたのでその紹介です。以下のアニメGIF画像はラスタライズとレイトレーシングとの描画モードを切り替えている図です。三角形3枚のほうが DXR による描画となっています。 NVIDIA DXRチュートリアル NVIDIA の DX...
Vulkan

VK_LAYER_LUNARG_standard_validation は使用不可に

PC環境を一新したタイミングで、 Vulkan SDK を 1.2.135 に更新しました。これが今回出遭った事件の始まりでした。タイトルにもあるように VK_LAYER_LUNARG_standard_validation が使えなくなったのです。 リリースノートより引用 状況 こまめにSDKの更新をチェックして、リリースノートにも目を通している人ならば既...
DirectX

Presentだけを実行するとメモリが増えていく

DirectX12 のアプリケーション開発において、ほとんど何もしていないのに使用メモリがモリモリ増えていく事案に出遭いました。何もせずに、 Present メソッドを呼び出しているだけですが、使用メモリが増えていきます。 自分の環境は以下に示す状態となります。 Windows10 x64 1909 バージョンVisual Studio 2019Window...
未分類

DirectX12 への統一理論

はじめに DirectX12が出た当時は Windows 10 の環境でのみ動作する新しいグラフィックスAPIセットでした。それが近年状況が少し変わり、 Windows7 の環境でも動作させることができるようになりました。 また、従来の DirectX API セットの皮を被って、 DirectX12 が使えるようにもなってきました。一見 DirectX11...