カテゴリー別アーカイブ: Vulkan

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)

Draco : Googleによるオープンソースの3Dデータ圧縮ライブラリ

Googleが3Dデータ向けの圧縮のためのオープンソースライブラリDracoを公開していました.

Draco
https://google.github.io/draco/

リポジトリ
https://github.com/google/draco

3DグラフィックスAPI向けにデータを流しやすくということのようですね.通信がありブラウザで使われるWebGL(Three.jsで対応)やglTF, WebVRなどの分野では圧縮は意義がありそうですね.

Dracoについては,glTF 2.0の圧縮形式としてKHR_draco_geometry_compression拡張が提案されているようですね.

Comment period for Draco extension
https://github.com/KhronosGroup/glTF/issues/1114

CppCon 2017 : Design Patterns for Low-Level Real-Time Rendering

CppCon 2017でDesign Patterns for Low-Level Real-Time Renderingというセッションがあったようですね.

Design Patterns for Low-Level Real-Time Rendering(スライドアリ)
https://cppcon2017.sched.com/event/BgtO?iframe=no

Vulkan, Direct3D 12, Metalといった並列処理対応グラフィックスAPIにおいて

  • メモリ管理
  • コマンドリスト
  • Descriptors
  • リングバッファ
  • 並列コマンドレコーディング
  • GPU処理の並列化とメモリのスケジューリング

などの話題がメインのようです.

参考文献などを見ているとやはりGDC 2017のEA DICEのFrameGraphの影響は大きそうですね.

OpenGL 4.6が公開に

SIPPRAPH 2017の中でOpenGL 4.6の仕様が公開になったようです.

Khronos Releases OpenGL 4.6 with SPIR-V Support
https://www.khronos.org/news/press/khronos-releases-opengl-4.6-with-spir-v-support

OpenGL 4.6ではSPIR-Vのサポートが必須になったようです.

拡張も追加されていますが,ドローコール削減のために役立つGL_ARB_indirect_parametersやSubgroup処理などが入るようですね.

NVIDIAのセッションで紹介しているものがありました.

Radeon GPU Profiler 1.0リリース

AMDがRadeon GPU Profiler 1.0を公開しました.

Radeon GPU Profiler 1.0
http://gpuopen.com/radeon-gpu-profiler-1-0/

Radeon GPU Profiler(ツールのページ)
http://gpuopen.com/gaming-product/radeon-gpu-profiler-rgp/

こちらのツールは,Radeon向けのGPUプロファイラーでDirect3D12とVulkanに対応しています.

キューやコマンドの実行状況やWavefrontの占有率、コンテキストロールのストールなどを分析できます.

紹介動画なども公開されています.

NXT:新しいWeb向けグラフィックスAPI

GoogleのGitHubのリポジトリにNXTという新しいWeb向けグラフィックスAPIのリポジトリが公開されていました.

https://github.com/google/nxt-standalone

Googleのオフィシャルというよりは実験的なプロジェクトのようでANGLEから新しく設計したプロトタイプのようですね.

Chromium向けで,D3D12, Metal, Vulkanの世代のような考え方(…に加えてOSごとにバックエンドになる)を取り入れたりSPIR-Vを導入したりという部分はANGLEから変わる部分かと思います.

GTC On-DemandでGTC 2017セッション動画が公開に

GTC On-DemandでGTC 2017セッション動画が公開になっています.

GTC On-Demand
http://on-demand-gtc.gputechconf.com/gtcnew/on-demand-gtc.php

GTC 2017セッション
http://on-demand-gtc.gputechconf.com/gtcnew/on-demand-gtc.php?searchByKeyword=&searchItems=&sessionTopic=&sessionEvent=2&sessionYear=2017&sessionFormat=&submit=&select=