フォト

Google AdSense


  • AdSense
無料ブログはココログ

2018.09.17

TuringのMesh Shadersの解説記事

TuringのMesh Shadersの解説記事が公開されていますね。

Introduction to Turing Mesh Shaders
https://devblogs.nvidia.com/introduction-turing-mesh-shaders/

とりあえず、OpenGL、Vulkan、Direct3D12では拡張機能として提供されるようで、記事ではGLSL環境出の使い方が解説されていますね。

とりあえず、読んでいきます。

2018.09.15

NVIDIA Turingの技術的な詳細記事

ちょっと情報が多めなので、あちらに書いていますがNVIDIA Turingの技術的な詳細記事が来ています。

ラスタライズ側も新機能が加わっています。

・Mesh Shading
・Variable Rate Shading (VRS)
・Texture-Space Shading
・Multi-View Rendering (MVR)

DXRに限らず、ラスタライズ側の新機能もチェックですね。

それぞれの個別解説などはおいおいやっていきます。

2018.09.13

Direct3D12でGPUのドライバクラッシュをデバッグする

Direct3D12でGPUのドライバクラッシュをデバッグする話です。

Debugging D3D12 driver crash
http://asawicki.info/news_1690_debugging_d3d12_driver_crash.html

Direct3D12は低レイテンシなAPIな代わりにエラー処理に対して古い世代のグラフィックスAPIより追いにくくなりました。デバイスコンテキストがすぐに処理を実行する時代と違ってコマンドリストにコマンドを積んで、キューに投入されたらエラーが出るなんてときはコマンドリストの積み込みではエラーが負えません。

ただ、Windows 10はGPUのクラッシュに対してOSごとブルースクリーンになったりしないということで、プログラム自体はなんとかプロセスが生きてるうちにクラッシュ状況を残しておこうということで、例えばNVIDIAだとAftermathというライブラリなんかを使えば追えたりするわけですね。クラッシュまでの間に最後に実行していたコマンドをバッファに退避して書きだしておくという感じですね。ただ、これはベンダーに依存するわけですね。

NVIDIA Aftermath
https://developer.nvidia.com/nvidia-aftermath

そこで、この記事はベンダーに依存しない手法というと...という話ですね。なるほどID3D12GraphicsCommandList2::WriteBufferImmediateというのを使ってバッファに書き込んで...ということのようですね。

ちなみに、ソースは下記だそうです。

https://github.com/sawickiap/MISC/tree/master/D3d12AfterCrash

glTFの次期バージョンのマテリアル周りの議論

glTFの次期バージョンのマテリアル周りの議論がされています。

https://github.com/KhronosGroup/glTF/issues/1442

現在2.0ではPBRは等方性どGGXといった感じですが、マルチレイヤーや異方性など2018年以降リアルタイムでも使われて来ている手法をカバーするようなものになりそうですね。

独自にJSONで拡張書かずにハイエンド向けのテクニックに使えるフォーマットに期待したいですね。

2018.09.12

SORT: Simple Open-source Ray Tracer

SORT: Simple Open-source Ray Tracerということでシンプルならレイトレーサーだそうです。

SORT
https://github.com/JerryCao1985/SORT

«SIGGRAPH 2018のEpic Gamesのリアルタイムレイトレーシングのセッション