Intelの新しいアンチエイリアシング手法:Temporally Stable Conservative Morphological Anti-Aliasing (TSCMAA)

Intelのサイトで,新しいアンチエイリアシングの手法”Temporally Stable Conservative Morphological Anti-Aliasing (TSCMAA)”サンプルが公開されています.

https://software.intel.com/en-us/articles/temporally-stable-conservative-morphological-anti-aliasing-tscmaa

この手法は,Conservative Morphological Anti-AliasingとTemporal Anti-Aliasingの2つを合わせた手法ということのようですね.

Direct3D11向けアプリケーションにはすぐに組み込めるようなライブラリになっているようです.


fg : FrameGraphを参考に作られたオープンソースのグラフベースのレンダータスクシステム

GDC 2017のFrostbiteの”FrameGraph: Extensible Rendering Architecture in Frostbite”の発表を参考にしたオープンソースのグラフベースのレンダータスクシステム”fg”がGitHubで公開されています.

fg
https://github.com/acdemiralp/fg

FRAMEGRAPH:Extensible Rendering Architecture in Frostbite(元の発表)
https://www.ea.com/frostbite/news/framegraph-extensible-rendering-architecture-in-frostbite

FrameGraphは,現在のDirect3D12, Vulkan, MetalといったAPI上でのレンダリングエンジンの設計などでよく引用されますが,それを実装してみようという試みは面白いですね.

デバッグ用にGraphVizでの可視化に対応しているようですので,レンダーグラフのビジュアライズなんかもできるようです.

Next Stepsなどを見ていると非同期のレンダリングタスクやリソースバリアのAliasing barriersに対応していないようですが,そのあたりが対応してくるとあとは下のレイヤーは各APIの実装入れれば使えそうですね.


Microsoftが外部接続GPUのためのサンプルxGPUを準備中

MicrosoftがDirect3D12のサンプルに外部接続GPUのためのサンプルxGPUを用意しているようですね.

https://github.com/Microsoft/DirectX-Graphics-Samples/tree/xGPUupdateReadme

最近はThunderbolt 3やSurface Bookのような取り外しができるディスクリートGPU環境が少し増えてきたので,それらに対応したサンプルということのようですね.

以前よりSLIやOptimusのようなLinkedGpusサンプルみたいなものはありましたが,xGPUサンプルでは外部接続GPUの検出やアプリケーションの動作中の接続や接続解除が考慮されているようですね.


GPU Zen 2執筆者募集とDX12/Vulkan/Metal 2対応フレームワーク The Forge

Wolfgang Engel氏が編集を務めるGPU Zen 2の執筆者募集が始まっています.出版はGDC 2019の時期を目指すようですね.

http://gpuzen.blogspot.jp/2018/01/gpu-zen-2-call-for-authors.html

今回はサンプルコードを実装するサンプルのためのフレームワークとしてThe Forgeというのが公開されています.

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

このThe Forgeは,DX12/Vulkan/Metal 2(PS4も対応予定)に対応し,サンプルにはVisibility Bufferがあります.Visibility Bufferの実装例を見てみるにはいいかもしれませんね.


新規記事:HLSLからSPIR-Vバイナリを生成する

2018年最初の記事として,新規記事”HLSLからSPIR-Vバイナリを生成する”をArticlesに書きました.

HLSLからSPIR-Vバイナリを生成する
http://www.shader.jp/?page_id=2176

実行環境としてVulkanを使う際,マルチプラットフォームで開発する際にシェーダの言語は1つの言語にしたいというときにHLSLのコード資産を生かしたいということはあると思います.

そうした場合に,Khronos groupが標準的なSIPR-Vの生成環境として用意しているglslangValidatorがどうなのかついて紹介してみました.

今後このサイトでもVulkanでコードサンプルを提供する場合などでは使うかもしれませんね.


GAPID:GoogleのOpenGL ES, VulkanのグラフィックスAPIデバッガ

GoogleがOpenGL ES, VulkanのグラフィックスAPIデバッガ GAPIDを公開しています.

このツールは,Android,Windows, Linux,OS XでOpenGL ES, Vulkan上でグラフィックスAPIの呼び出しをデバッグできるツールです.

Save development time with our new 3D debugging tool
https://www.blog.google/products/google-vr/save-development-time-our-new-3d-debugging-tool/

ツール概要
https://developers.google.com/vr/develop/android/gapid

ソース
https://github.com/google/gapid

OSごとに取得できるものは違います(OS XはVulkanがいけない)が,PC上でも取れるので実機に行く前にPC環境で動作を調べたりなどに便利そうですね.

Android Windows macOS Linux
OpenGL ES Trace
OpenGL ES Replay
Vulkan Trace
Vulkan Replay
(Must be performed on the same device used to trace)

DirectXShaderCompilerのシェーダバージョンやシェーダモデル6.xの機能

HLSL 6.0からシェーダコンパイラがDirectXShaderCompilerに代わりますが,言語のバージョンの違いやSM 6.xの機能の違いなどがWikiにまとめられるようになりました.

Language VersionsではDirectXShaderCompilerのコマンドライン引数で渡すバージョンについて書かれています.Creators Updateの時のHLSL 2015とFall Creators UpdateのHLSL 2016と今後のロードマップがあります.

Language Versions
https://github.com/Microsoft/DirectXShaderCompiler/wiki/Language-Versions

SM 6.xは,6.0~6.2がありますが,6.2は現在使用策定中ですが16bit floatのサポートが入るようですね.

Shader Models
https://github.com/Microsoft/DirectXShaderCompiler/wiki/Shader-Models

今後もこのページは更新されそうなので,ここをチェックするとよさそうですね。