2019.07.24

GeForce RTX 2070 SuperでVariable Rate Shadingを動かしてみた

GeForce RTX 2070 SuperでVariable Rate Shadingを動かしてみました。

Windows 10はMay Update 2019適用済みで、DirectX-Graphics-SamplesのDevelopブランチにあるものをビルドしたらそのまま動きました。

https://github.com/microsoft/DirectX-Graphics-Samples/tree/develop/Samples/Desktop/D3D12VariableRateShading

このサンプルは、リフレクション、シーン、ポストエフェクトの3つのパスでシェーディングレートを1x1、1x2、2x1、2x2、4x2、2x4、4x4の7種類変更できます。

静止画で1x1、2x2、4x4上げてみました。ココログは大きな画像ファイルのアップに向かないのでFlickrに上げてます。オリジナルサイズで見るのがいいと思います。

※フレームレートはキャプチャした瞬間変動してるので、参考にしないでください。

VRS1x1

 

VRS2x2

 

VRS4x4

とりあえず、全体を4x4にするとシェーディングレートの低下がわかりますね。床のタイトルのへこみとかで斜めになってるところとかギザギザしますね。真ん中の置物も変わりますね。今回は一律で間引いてるので変化がわかりやすいですね。

実際の使用シナリオは、VRであれば、外側は間引けばいいのですが、一般的なディスプレイ向けゲームの場合、目立つところと目立たないところをちゃんと判定してやるのがいいのか、フレームレートが下がった際にやる動的解像度のように使うのか、チェッカーボードと比較してどうなのかなど、使い方はいろいろと戦略はありそうですね。ひとまず動くのは確認できました。

ついでに、シーンパスと全パス適用を動画もアップしました。

 

2019.07.10

α7III+フォクトレンダーNOKTON Classic 35mm F1.4 で清澄庭園

α7IIIでミラーレス一眼に移ったのですが、以前の一眼レフではMFは苦手だったんですが、α7IIIはMF時にフォーカスあてたとことろをズームしてくれたり、ピーキング機能でだいぶ使いやすいことがわかり、MFでクラシックな描写するという評判のフォクトレンダーNOKTON Classic 35mm F1.4 E-mountを手に入れてみました。

そんで、天候悪いですが、清澄庭園でちょっと撮影テスト。

清澄庭園2019

なるほど、これはLightroomであんまり補正しすぎない方がいいのかもなぁ。レンズ補正周辺光量落ち直せるし、きれいになるけどクラシックな描写感なくなるなぁ…ということであまりいじらずが良いんでしょうね。

2019.06.16

ZEISS Batis 2/40 CFを購入

α7IIIに普段つけっぱなしにしておく標準域につけておくレンズとしてZEISS Batis 2/40 CFを購入しました。

Batis

ZEISS Batis 2/40 CF
https://www.zeiss.co.jp/camera-lenses/photography/products/batis-lenses/batis-240cf.html

55mmでSEL5518Zを持っていて少し狭いなと思いつつ、35mmでは画質より軽量さでSAMYANG AF35mm F2.8 FEなんかを持っていて、35mmで高画質なものはもともと別なカメラでRX1Rあるので避けておこうかなと思っていたのですが、品薄だったZEISS Batis 2/40 CFがだいぶ買えるようになったので購入。

やっぱり、自分的には35mmに近い画角の方が扱いやすく寄れるというのはいいですね。ちょっと長いなとは思いつつも軽量な方なのは良いですね。

向島百花園2019


雑多なものは下記ですが、浅草の写真が今は占めてますね。


Batis 2/40 CF Photos


2019.05.09

Google I/O 2019 ARCoreの機械学習での照明推定やライティングのセッション動画

Google I/O 2019でARCoreのアップデートが様々公開になりました。

Updates to ARCore Help You Build More Interactive & Realistic AR Experiences
https://developers.googleblog.com/2019/05/ARCore-IO19.html

この中で、カメラからの照明推定(Light Estimation)の部分は大きなアップデートだと思います。AppleのARKitでも照明推定があり、Light Probeの構築などはやってくれてますが、ARCoreではHDR Cube mapの生成も対応したようです。

ちょうどGoogle I/O 2019ではそのことに関するIncreasing AR Realism with Lighting (Google I/O'19)というセッションがあり、動画が公開されています。

ARで環境の情報を取得するカメラは、LDRの入力ですが、ここからHDR Light Probeの構築しています。セッション見ているとこれは、TensorFlow Lightを使ってニューラルネットワークで処理しているようですね。

Lightprobe

この実装はCVPR 2019で発表される"DeepLight: Learning Illumination for Unconstrained Mobile Mixed Reality"として発表されるようです。研究メンバーにはPaul Debevecがいるので納得感高いですね。

DeepLight: Learning Illumination for Unconstrained Mobile Mixed Reality
https://arxiv.org/abs/1904.01175

リアルタイム性の高いアプリケーションで機械学習をインタラクティブなレベルの処理時間で実装できてるというのが、やはりGoogle強いですね。

あと、地味にディレクショナルライトの算出も新機能ですが、これはカメラから見てかShadowを落とす際に便利ですね。

※動画は字幕表示ができるのでリスニング苦手な方でも情報を拾いやすく、翻訳にも対応しています(ただし、機械翻訳の怪しさがあります)。

2019.05.08

DirectMLの超解像(Super Resolution)サンプルを動かした

ノートPCで超解像のサンプルを動かしてみました。GPUは、GeForce GTX 1070(MAX-Q)です。

https://github.com/microsoft/DirectML-Samples

DebugビルドだとPixのランタイムDLLが生成されなくてエラーでしたが、Releaseビルドが動いたのでスクショを撮ってみました。

このサンプルでは、960x540の60 fps動画をBilinear FilterとSuper resolution Neural Networkの2つの手法が切り替えでアップスケールします。比較用に、両方の画像を交互に載せていきます。

Directmlsuperresolution-2019_05_08-1_40_ 

Directmlsuperresolution-2019_05_08-1_40__1 

上:Bilinear Filter 下:Super resolution Neural Network

Directmlsuperresolution-2019_05_08-1_41_

Directmlsuperresolution-2019_05_08-1_41__1

上:Bilinear Filter 下:Super resolution Neural Network

Directmlsuperresolution-2019_05_08-1_42_

Directmlsuperresolution-2019_05_08-1_42__1

上:Bilinear Filter 下:Super resolution Neural Network

Directmlsuperresolution-2019_05_08-1_42__2

Directmlsuperresolution-2019_05_08-1_43_

上:Bilinear Filter 下:Super resolution Neural Network

一応、動画も撮ってみましたが、Bilinear Filterと比べてSuper resolution Neural Networkは10 fpsぐらいまで落ちましてあまり参考にならなさそうですね。

とりあえず、Pascal世代のノートPCの1070だとちょっと実用が厳しいなという感じですね。RTXでどうなのか気になるので、別途試してみたいですね。

2019.04.14

GeForce GTX 1080で実行したDXRプログラムはPIXやNsight Graphicsからはどう見える?

 RTXじゃないGeForceでDXRが使えるようになりましたが、PIXやNsight Graphicsなどグラフィックスの分析ツールではどのように見えるのか気になったので試してみました。

かつて、Fallback LayerがあったときはPixでキャプチャしたときはCompute Shaderで実行されていたのでID3D12GraphicsCommandList4::DispatchRaysなどは、Compute ShaderのDispatchとしてイベントリストでは見えていました。今回は、Fallback Layerと実行層が変わっているようなので気になっていました。

Pix

Pixは1904.01を試しましたが、Fallback Layerの時と異なり、DXRのイベントが拾えています。

https://devblogs.microsoft.com/pix/download/

Pixdxr001 

Pixdxr002

Nsight Graphics

Nsight Graphicsは2019.2を試しました。こちらもキャプチャできています。Acceleration Structure Viewer(カメラ位置は適当です)も機能しているなと思います。

https://developer.nvidia.com/nsight-graphics

Nsgihtdxr001

Nsightdxr002

まとめ

とりあえず、GeForce GTX 1080でもDXRのキャプチャができることはわかりました。

DXR使うのであればRTXシリーズがベストなんでしょうが、とりあえず自宅で開発用途であれば1080で少し頑張っても良さそうですね。

2019.04.11

GeForce 10シリーズ向けDXRドライバとサンプルの実行

GeForce 10シリーズ向けDXRドライバが出たみたいですね。

NVIDIA,GeForce GTX 10,16シリーズでリアルタイムレイトレーシングを可能とする「GeForce 425.31 Driver」をリリースhttps://www.4gamer.net/games/022/G002210/20190411142/

早速サンプルをビルドして実行してみました。

GeForce GTX 1080でもちゃんとサンプルが起動しますね。

Dxr1080

Dxr1080b 

2018.11.19

ShaderConductor 0.2.0とバイナリ提供

ShaderConductor 0.2.0からビルドしたWindowsバイナリ提供が行われるようなったみたいです。

Version 0.2.0
https://github.com/Microsoft/ShaderConductor/releases

実行ファイル以外に、DLLでの運用もできるのでツールに組み込むとかアリな感じもします。

Sc

実際に上記のPowerShellが実行してみた感じですが、現状見た感じプリプロセッサの対応がなさそうに思います。

バージョンの話では、このバージョンからすべてのシェーダステージの変換がGLSL、ESSL、MSL対応になったようです。ソースから利用する方はmacOSやLinuxもOKみたいですね。

ShaderConductorについて、以前書いた記事は下記です。

ShaderConductor : Microsoftのオープンソースシェーダ言語変換ツール
http://www.shader.jp/?p=2383

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.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


より以前の記事一覧