プログラミング __cplusplus について C++を使っていて、C のコードブロックを書きたいときに __cplusplus を使用して対処することがあります。 このとき、 __cplusplus が定義されていたら、現在は C++ のコンテキストでコンパイルしている、と判断していたわけですが、この __cplusplus は実はC++のバージョン値を持っていたということを今更知りました。 きっかけは... 2020.02.10 プログラミング
Vulkan Vulkan 1.2 の発表 2020/01/15 に Vulkan API も 1.2 のバージョンが発表されました。そして既に対応するドライバも公開が始まっています。このバージョン1.2では、何が変わったのかを記録しておきます(自分なりの解釈も入っているので、間違っていたらすみません)。 タイムラインセマフォ 大きな機能追加だと思います。今まで VkFence と VkSemapho... 2020.01.19 Vulkan
プログラミング C++ filesystem ヘッダの課題 Visual Studio 2019 のバージョン 16.3 以降で、 filesystem ヘッダの部分が変わりました。従来は experimental だったのが、正式版となったような感じです。何もしないでコンパイルが通る状況では無くなったので修正を施します。 バージョン判定 Visual Studio 2019 の途中のバージョンからの変更となるため、... 2020.01.05 プログラミング
Vulkan SwiftShader を試してみた 今年 SwiftShader が Vulkan 1.1 の conformance test を通過したと聞いたので、気になって手元でも試してみることにしました。 SwiftShader とは Google 製の CPU による Vulkan 実装というところです。次の場所で公開されています。 CPUでラスタライズ処理をするため、 GPU の機能を使用しませ... 2019.12.30 Vulkan
DirectX DirectX12 の書籍 「DirectX 12の魔道書」 自分も同人誌で DirectX12 や Vulkan のプログラミングの書籍を作っていますが、とうとう商業誌として DirectX12 の書籍が登場するようです。600ページを越えるかなりのボリューム感となっていますが、 DirectX12 をしっかり説明しつつ入門となるとこのくらいになってしまうのかもしれないですね。 内容としては、MMDモデルを描画&踊る... 2019.12.20 DirectX
DirectX DirectX12 でテッセレーション DirectX12 でのテッセレーションを確認してみています。テッセレーション自体は DirectX11 から使えるようになっているものですが、あまり事例を見かけないかなと思います。頂点シェーダーやピクセルシェーダーのように必須のものではありませんし、色々と制御が難しかったりしています。今回はテッセレーションの基本的な部分について、自分のメモです。 テッセレ... 2019.12.01 DirectX
DirectX DirectX12 でシングルパスキューブマップ描画 DirectX12 で、ジオメトリシェーダーを用いてシングルパスでキューブマップ6面を描画を行う手順を確認しました。以前に各キューブマップ面毎に描画する方法は紹介しました。ジオメトリシェーダーを使うと1回の描画で6面へ描画ができます。 レンダーターゲットビュー・デプスステンシルビューの準備 描画先とするために、レンダーターゲットビューとデプスステンシルビュー... 2019.11.02 DirectX
DirectX Windows10 20H1 での DirectX12 周辺の拡張の話 とうとう DirectX にも Mesh Shader が来るのかもしれません。 Microsoft のブログによると、 Windows10 の次のバージョン 20H1 にて次のような拡張が入りそうな感じです。 DirectX RayTracing Tier 1.1DirectX Mesh ShaderDirectX Sampler FeedbackText... 2019.10.29 DirectX
DirectX ID3D12InfoQueue のお世話になった 描画用キューブマップを各面毎にクリアしたときに警告を出してしまったので、これらについて対処するための小ネタです。 レンダーターゲットを動的なカラーでクリアすると警告 レンダーターゲットを任意のカラーでクリアするとワーニングが発生します。レンダーターゲット生成時に指定したカラー値(デプス値)と違ったものでクリア処理を呼ぶと、パフォーマンスの観点から怒られるよう... 2019.10.25 DirectX
DirectX DirectX12 でキューブマップ DirectX12 でキューブマップを使ってみます。 今回は素直な実装で、キューブマップへの描画&利用についても試してみました。 キューブマップは DirectX10 以降では、2Dのテクスチャ画像を6つ保持するテクスチャ配列です。 この6つの面に、±X, ±Y, ±Z の方向を向いた3Dシーンが描画されています。これを環境マップとして使用して、反射先の色と... 2019.10.22 DirectX