2019.01.27

Ray Tracing Gemsの目次と表紙が公開に

Ray Tracing Gemsの目次と表紙が公開になっています.。

目次
http://www.realtimerendering.com/raytracinggems/

Real-Rendering “Ray Tracing Gems” nears completion
http://www.realtimerendering.com/blog/ray-tracing-gems-nears-completion/

これは楽しみですねぇ。

2018.11.11

α7III用にTAMRON 28-75mm F/2.8 Di III RXDを購入

α7III購入してから標準域のズームレンズはSEL24105Gあたりを狙ってましたが、なかなか安定して供給されてないようなのとボディと一緒に買うときには予算的な問題がありました。

そんなわけで、マウントアダプター(ENF-E1 PRO)で今まで使用してきたNikonレンズでやってたわけですが、やっぱりAFが使えるとは言え、AF速度とか動画でAF変えられないとか制約がちょっと標準ズームではなぁ...という感じでした。単焦点は開放がF1.4とかのラインナップがSonyのEマウントレンズあんまりないので引き続きという感じですが。

そんな中、SEL24105Gじゃないですが、評判がいいTAMRON | 28-75mm F/2.8 Di III RXDをようやくゲット。

https://www.tamron.jp/product/lenses/a036.html

とりあえず、ここ2週旧古河庭園のバラとか上野寛永寺エリアとかその辺へちょっと持っていく。

旧古河庭園2018秋

Ueno 2018 (清水観音堂、上野東照宮)

SEL24105Gに関してはおいおい考えますが、こうなるとSEL70300Gとか望遠そろえた方がいいんだろうなぁ。

2018.07.25

8月に出る技術書

Game Engine Architecture, Third EditionとReal-Time Rendering, Fourth Editionどちらも8月に出そうですし、Kindle版が値段がだいぶ紙より安いので一安心ですね。

2018.07.09

Real-Time Rendering 第4版の書籍のページ

Real-Time Rendering 第4版の書籍のページが更新されています。

http://www.realtimerendering.com/

今回の表紙はGDC 2018で発表されたリアルタイムレイトレーシングのデモで使われたスターウォーズのシーンが表紙のようですね、

書籍の目次が公開されていますが、内容が多いので収録が見送られたCollision Detectionと2018年3月に発表されたことで紙に間に合わなかったReal-Time Ray Tracingの章は無料でオンライン上で公開されるようですね。

こちらは公開されるのを楽しみにしたいですね。

2018.02.19

Xbox OneのHDRスクリーンキャプチャ機能を使ったHDRタイトルの分析

HDR games analysed
https://www.resetera.com/threads/hdr-games-analysed.23587/

Xbox OneのHDRスクリーンキャプチャ機能を使ったHDRタイトルの分析について書いてる記事があります。

Xbox OneはSとXがHDR対応(ただし、4Kでグラフィックス強化のエンハンスモード選ぶならXを選ぶといいです)なので、そのスクリーンキャプチャをHDRで行って輝度に応じて、輝度マップに変換して分析ということをやってるみたいですね(ちなみに、Windows 10 Fall Creators UpdateではHDRキャプチャはできません)。

通常、HDRのゲームはユーザー環境のディスプレイの輝度をハードウェア的に取得することはできないので手動で調整させて、それをもとにトーンマップしますが、スクリーンキャプチャではトーンマップ前のが取れてるようですね。

タイトルごとに、最大nitsの違いとか興味深いですね。世の中では、500~1,500nitsぐらいのテレビやモニタが多いと思うのですが、ゲーム自体は4,000nitsぐらいまでは行けるようなゲームは多いようですね。

ハードウェアの進歩とかすぐでしょうから、テレビとか市販のデバイスが500~1,500nitsが多くてもライティングの部分などをセーブして調整するということをしなくても良さそうですね(トーンマップで解決)。

いくつかのタイトルではシーン内で一番起動が高いだろう太陽は10,000nits(本当はもっと高いですが、規格の上限)なんかで設定されているのがわかりますね。

あと、日本のタイトルだとFF15とかモンハンワールドとかありますね。

この手法は、HDRに対応しようという開発者にはなかなか興味深いですね。Xbox One Xが検証用に欲しくなりますね。もちろんHDRテレビやディスプレイに接続しないとHDRモードにできないので、それも必要かと思います。


2018.01.28

Visibility BufferとCluster CullingとTriangle filteringを振り返る2018頭

GPU Zen 2の執筆者募集のタイミングで公開されたThe Forgeですが、最初に公開されたときよりVisibility Buffer(Examples_3)のサンプルが更新されたので動かしてみました。

vb

https://github.com/ConfettiFX/The-Forge

最初のビルドではAssimpまわりのライブラリの設定があったんですが、それはしなくてよくなりましたね(アセットはGitHubにはないのでWindowsならPRE_BUILD.batで取ります)。自分の環境(Win 10 + GeForce GTX 1080)ではDX12/Vulkan両方動きました。

今回の実装に関しては、GitHubのサンプルのDocumentに資料があります。

https://github.com/ConfettiFX/The-Forge/tree/master/Examples_3/Visibility_Buffer/Documentation

この実装は、もともとはWolfgang Engel氏がGDC Europe 2016で紹介した下記のリンクの話でしたが、上記の発表よりも手法のフォローが増えているように見えますので、今読むなあら上がいいんでしょうね。


https://www.gdcvault.com/play/1023792/4K-Rendering-Breakthrough-The-Filtered

この実装は、Visibility Bufferに目が行きますが、Cluster CullingとTriangle filteringなども実装されたものになっています。

・Visibility Buffer
Visibility Buffer自体は、2013年に提案されたものでしたね。

http://jcgt.org/published/0002/02/04/

すぐ、使おうという人が多くなかったのは、おそらく今と違ってまだ4Kへの対応の必要性が少なかったからかと思います。

G-bufferの帯域の問題というのは、1080pの時に比較してゲームの4K対応なって問題としてあげられることが増えてきました。

あとは、まだ実装例を見れていないですがメモリが遅いモバイルなどで通常のDeferred Renderingとどちらが良いかという議論はありそうですね。Metal 2やVulkanの世代では実装例が出るか気になるところですね(既存のゲームエンジンを使用せずにフルスクラッチでレンダリングのコードを書くようなタイトルがあれば...ですが)。

・Cluster CullingとTriangle filtering

Cluster CullingやTriangle filteringに関してSIGGRAPH 2015: Advances in Real-Time Rendering in GamesのGPU-Driven Rendering Pipelinesかと思います。

http://advances.realtimerendering.com/s2015/aaltonenhaar_siggraph2015_combined_final_footer_220dpi.pdf

これは、Assassin’s Creed Unityの大規模なパリの街の描画に使われた手法で、メッシュを64頂点のストリップを1 Clusterとして画面内での可視判定(こっちがCluster Culling)を行って、描画に積むメッシュのClusterを決定する(描画に使う三角形を抽出するのがTriangle filteringでしょう)というものですね。

こうした技術が使えるようになったのはOpenGL/DX12/VulkanなどのMulti DrawやExecute Indirectのような描画命令の発達が背景にあるわけですね。特にDeferred RenderingのG-buffer描き込みなどはシェーダのバリエーションがあまりないので相性がいいわけですね。

Cluster Cullingは、AMDはサンプルを公開していますし、Wolfgang Engel氏の発表などになるわけですね。

GeometryFX 1.2 – Cluster Culling
https://gpuopen.com/geometryfx-1-2-cluster-culling/

Cluster CullingとTriangle filteringに関しては、Visibility Bufferでない環境でも有効ですので、こちらだけ採用してみたいというのもありなんでしょうね。

なお、これらを一歩進めよう(マテリアル周りのことも考慮しつつ)としているのが、Eidos MontrealのDawn EngineのDeferred Plusでしょうね。これに関しては下記に記事がありますが、GPU Zenの1に記事がありますのでそちらを見るとよいかと思います。

DEFERRED+: NEXT-GEN CULLING AND RENDERING FOR DAWN ENGINE
https://eidosmontreal.com/en/news/deferred-next-gen-culling-and-rendering-for-dawn-engine

・まとめ

従来型のDeferred Renderingの問題である帯域の問題やマルチレイヤーマテリアルへの柔軟な対応(G-bufferにDiffuse AlbedoやMetalic, Roughnessなどのパラメータを1種類しか格納できない)などの改善に関しては、DX12/Vulkan/Metalの世代にあった描画パイプラインの提案は今年あたりから様々提案がされてきそうですね。

その出発として、このサンプルやこの記事で紹介している技術を学ぶのは良いんじゃないかと思います。

2017.12.25

HDRモニタ導入

職場では使っていたのですが、自宅にもHDRモニタを導入しました。

今回は、自分の周りで使用している人がいなかったBen-QのSW271ですね。

http://www.benq.co.jp/product/monitor/sw271/

テレビも含めてWindows 10にはHDRモニタをいろいろとつないでいますが、こいつは最大輝度に関しては高くはない印象ですが、Windows 10のHDRモードでもデスクトップが使えるのが良いですね。試した経験では、輝度の高いディスプレイなどデスクトップの発色がきつい印象のものがあったりしたので。

ちなみに、最近ようやくWindowsでChromeでYoutube HDR動画が見れるようになったり、NetflixのWindows 10のアプリ版やEdgeで見れるようになったりと、タイミング的に見るものが増えてよかったです。

あと、自宅に導入されたことでShader.jpで記事を書いたりサンプルを公開することは増えるとは思います。

2017.11.20

USB Type-CしかないPCはHDR出力できるのか?

Surface Book 2とかUSB Type-CしかないPCはHDR出力できるのか気になってるんですが、自分で試してみるしかなさそうですなぁ、つづく。

なお、Type-Cの帯域が10Gbpsと聞いて、18Gbpsないのかよ...って感じで若干、あきらめムードではありますが解像度下げれば出るとかであれば、信号の出力は何とかできそうな感じはありますね。

とりあえず、HDR対応をうたうType-C変換や18Gbps対応ケーブルはありました。

2017.09.27

OpenGLの赤本みたいなMetalのSwift本

OpenGLの赤本のところからSwiftでMetalの本"Metal Programming Guide: Tutorial and Reference via Swift"が出るようですね。

出版社の紹介ページ
https://www.pearson.com/us/higher-education/program/Clayton-Metal-Programming-Guide-Tutorial-and-Reference-via-Swift/PGM1255392.html

Metalを直接書くことなんてあるかな...と思いつつも目次(Contentsのところ)見てるとPart III: Data Parallel Programmingで、あまり3Dグラフィックスの本で見かけないタイプの内容も扱うようですね。

Chapter 15: The Metal Compute Pipeline
Chapter 16: Image Processing in Metal
Chapter 17: Machine Vision
Chapter 18: Metal Performance Shaders Framework
Chapter 19: Neural Network Concepts
Chapter 20: Convolutional Neural Networks

2017.09.14

GPD Pocketでゲームするためにゲームパッド購入

GPD PocketはGPD Winと違って本体にゲームパッドの機能がないので、ゲームパッドどうしようかと探してみたけど、BluetoothでXInput互換のゲームパッドがあったので購入しました。

このサイズなら一緒に持ち運んでも問題なさそうですね。

より以前の記事一覧