« 2018年8月 | トップページ | 2018年10月 »

2018.09.28

CUDA 10の新要素 Turing周りの対応など

CUDA 10の新要素の記事が出てますね。Turing周りの対応やVulkanやDirect3D12(Descriptor Heapを使うAPI)などとのリソースのやりとりなどありますね。

CUDA 10 Features Revealed: Turing, CUDA Graphs and More
https://devblogs.nvidia.com/cuda-10-features-revealed/

2018.09.27

Unity 2018.3のβでGPU Lightmapper Previewがきた

Unity 2018.3のβでGPU Lightmapper Previewがきたみたいですね。

まずは、Windowsのみということですが、OpenCL 1.2が動くと使えるようですね(OpenCL対応CPUでも動く)。ベンダー依存がなさそうなのはよいですね。

2018.09.20

TuringのOpenGL/Vulkan拡張まとめ記事

Shader.jpに書いておきました。もうちょっと拡張出るの遅いかと思いましたが、GeForce RTX 2080の発売と同時ぐらいに出ましたね。

CEDEC 2018のレイトレパネルディスカッションの記事

CEDECで登壇したパネルディスカッションを記事にしてくださったメディアがありました。

[CEDEC 2018]ゲーム開発マニアックス:レイトレでゲームはどう変わっていくのか?
http://jp.gamesindustry.biz/article/1809/18091901/

なかなか玄人ネタのセッションなので記事にならないと思ってましたが、ありがたいですね。

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

2018.09.06

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

SIGGRAPH 2018のNVIDIAのReal-Time Ray Tracingコースの中にUnreal EngineのEPIC Gamesのセッションがありました。このセッションはスライド単体はまだ見つけてないのですが、動画が公開されています。


WEDNESDAY 8/15のReal-Time Ray Tracing
https://www.nvidia.com/en-us/events/siggraph/schedule/?session-type=course

セッション動画は下記です。The Technology Behind The Speed of Lightになります。

The Technology Behind The Speed of Light
http://on-demand.gputechconf.com/siggraph/2018/video/sig1813-6-francois-antoine-epic-car-demo.html

このセッション前半はポルシェとのコラボレーションによるUE4上でのリアルレイトレーシングの話ですね。こちらはゲーム分野というよりは自動車メーカーのビジュアライゼーションという感じですね。非ゲーム分野でUE4使っているようなところでは参考になることと期待感が高まりますね。

後半の17:30ぐらいからは、内容が変わってEpic Real Time Ray TracingというセッションでこちらはGDCで公開したスターウォーズのレイトレーシングのデモの技術的な話なのですが24;20あたり(下図)を見ているとGDCの時からSIGGRAPHにかけてレイトレーシングでやれることを増やしたようですね。

Ue4rt

SIGGRAPHでのリアルタイムレイトレの話はEA SEEDのPICA PICAの話が多いのではありますが、このセッションも実際にエンジンに統合した事例として良いセッションでした。


2018.09.05

無料で公開されたレイトレーシング電子書籍の話

とりあえず、Tweetじゃ埋もれるのでShader.jpに書いておきました。

2018.09.02

DirectX Raytracingの正式リリースはいつ?

gamescom 2018でDirectX Raytracing (DXR)対応タイトルの話が出てきましたが、現在のDXRはまだPreview版で使用するにはD3D12EnableExperimentalFeatures という関数を呼び出して使用します。

D3D12EnableExperimentalFeatures
https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/nf-d3d12-d3d12enableexperimentalfeatures

この関数は、Remarksに書かれているようにWindows 10をDeveloper Modeにしないと失敗します...ということで一般のユーザー向けの機能ではないわけですね。

Because the set of experimental features will change over time, and because these features may not be stable, they are intended for development and experimentation only. This is enforced by requiring Developer Mode to be active before any experimental features can be enabled.

ではいつ一般のユーザー環境でも動作するかというと今年のSIGGRAPH 2018のコースIntroduction to DirectX RayTracingのセッションに記述があります。

http://intro-to-dxr.cwyman.org/

具体的にはIntroduction to the DirectX Raytracing APIの中にあります。

http://intro-to-dxr.cwyman.org/presentations/IntroDXR_RaytracingAPI.pdf

その中の30枚目のスライドでRS5と書かれています。とりあえず、RS5...最近発表されたWindows 10 October 2018 Updateで正式リリースということになりそうですね。なるほど年末のタイトルが間に合うということはそういうことなんですね。おそらくInsider PreviewとSDKを使用しているとD3D12EnableExperimentalFeatures 呼ばなくてもいけるんでしょうね。

Dxrrs5


glTF SDKを使おうかと思ってるが...

MicrosoftがGitHubに公開しているglTF SDKがC++で使う分には機能がそろっているので使おうかと考えています。

https://github.com/Microsoft/glTF-SDK

そこで、ライブラリを自分でビルドするのがめんどいのでNuGetでパッケージを持ってくることはドキュメントのサンプルコードが古くて今通らない感じがしますねぇ(関数やクラス名が変わってる)。

https://www.nuget.org/packages/Microsoft.glTF.CPP/

とりあえず、もうちょっと高レベルなglTF Toolkitが現在のバージョンにちゃんとあった形で実装されているようなので、これを参考にするか。

https://github.com/Microsoft/glTF-Toolkit

« 2018年8月 | トップページ | 2018年10月 »