フォト

Google AdSense

  • AdSense
無料ブログはココログ

2017.06.24

RadeonRaysベースのオープンソースレンダラ

これは高機能でちょっと気になりますねぇ。

Baikal Renderer:AMD RadeonRaysベースのオープンソースレンダラ
http://www.shader.jp/?p=1993

オープンソースなのでツールへの組み込みとかちょっと調べてみたいところ。

2017.06.23

SIGGRAPH 2017 : Emerging Technologies トレイラー

そういえば、SIGGRAPH 2017 : Emerging Technologies トレイラーが出ていましたね。

2017.06.14

GoogleのAR/VR用ライブラリLullabyがオープンソースで公開

GoogleのAR/VR用ライブラリLullabyがオープンソースで公開になってるみたいですね。

Lullaby
https://github.com/google/lullaby

・High-performance C++ libraries designed for building VR/AR apps.
・Support for full 3D VR environments, including geometric worlds, panoramic images, and spatial audio.
・Entity-Component-System architecture for efficient runtime performance.
・Data-driven development tools for quick iteration.
・Common set of widgets (eg. images, labels, buttons, reticle, etc.) for UI development.
・Material VR: Widgets (eg. images, labels, buttons, reticle, etc.) for building VR UIs.
・Animation system for fluid, responsive UIs and "living" environmental objects.
・Support for Cardboard/Daydream headsets, Daydream VR Controller, and VR Keyboard.
・Java-based API for integration with existing Android applications.
・Used by multiple teams across Google incl: VR Home, Play Store, YouTube, Play Movies, and Earth.
・Multiplatform support: Android, iOS, Linux, and Windows.

C++のライブラリで、3Dの描画、空間オーディオとかの機能と基本的なものはそろっていて、AndroidだけでなくiOSやWindowsやLinuxなんかもサポートしてるようですね。

ARはUnityで作ることが多いですが、それ以外の選択肢としていいかもしれないですね。

2017.06.06

glTFのデータってどうやって作ればいいのか?

glTFが2.0になって、PBR向けのマテリアル対応したし、WebGLに依存しないフォーマットになったので使いたいなと思っていたのですが、データってどうやって作ればいいのか?

と長い間悩んでました。

Blender向けのプラグインがオフィシャルで出ていたのは知ってるんですが、Blenderかぁ...。

KhronosGroup/glTF-Blender-Exporter
https://github.com/KhronosGroup/glTF-Blender-Exporter

とりあえず、何かヒントがないかサンプルモデルのデータを見てみました。

https://github.com/KhronosGroup/glTF-Sample-Models

とりあえず、シンプルそうなPBRアボカドモデルのJSON部を見ていたら、ちょっとしたことに気づきました。

https://github.com/KhronosGroup/glTF-Sample-Models/blob/master/2.0/Avocado/glTF/Avocado.gltf

"asset": {
"generator": "glTF Tools for Unity",
"version": "2.0"
},

おや、"glTF Tools for Unity"って何?

お、Unity上でセットアップしたPrefabをglTFにエクスポートできるアセットなんですね。


https://github.com/bghgary/glTF-Tools-for-Unity

Prefabを選択して右クリックでで「glTF Tools for Unity」でエクスポートダイアログ出てきました。試したところUnityのStandard Shaderアサインしていたモデルが出力できました。

デフォルトだとAssetフォルダと同じ階層のOutputフォルダに保存してくれました。

KHR_materials_pbrSpecularGlossinessはエラー出ましたが、そのチェックしなければ大丈夫ですね。

あとテクスチャは現状、JPEGかPNGに限るようでTIFFのモデルはエクスポート失敗しました。

とりあえず、まずはこれを使ってみるかなぁ。

“Rendering of Shadow Warrior 2”という資料

GDC 2016で"Real-time BC6H Compression on GPU"(ソース:https://github.com/knarkowicz/GPURealTimeBC6H)を発表していたKrzysztof Narkowicz氏の“Rendering of Shadow Warrior 2”という資料なかなか興味深いですね。

Digital Dragons 2017
https://knarkowicz.wordpress.com/2017/05/28/digital-dragons-2017/

https://knarkowicz.files.wordpress.com/2017/05/knarkowicz_rendering_sw2_dd_20171.pdf

ゲームがプロシージャルなレベルな分、動的な要素が多いですね。ランタイム生成の環境マップとか、マテリアルの話とか。

あとは、やっぱりフォーマットの使い方が面白なぁ。BC7テクスチャをRGに2軸法線入れて、RoughnessをBに入れるとか、11_11_10_floatフォーマットを使ったりとか(XB1のESRAM対策でしょうけど)。

あとは、ACESの話も読んでおかないと。

ACES Filmic Tone Mapping Curve
https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/

2017.06.05

glTF 2.0の仕様がリリース

glTF 2.0の仕様がリリースされたみたいですね。

Khronos Releases glTF 2.0 Specification
https://www.khronos.org/news/press/khronos-releases-gltf-2.0-specification

いまだに、個人用途での3Dモデルフォーマットは悩むのですが、

・glTF 2.0になってWebGL依存しない形になった
・リアルタイム3D APIと親和性の高いフォーマット
・スキニングやMorph対応(Morphは2.0からっぽい。BlendShapeに使いたい)
・PBRのマテリアル対応
・glTFはJSONベースだけど、データの多い頂点座標やUV、法線など頂点バッファに入るデータはバイナリなので読み込みやすい(これは1.0から)

あたりは良いと思うんですよね。あとは、DCCツールなどの対応でglTF 2.0のデータが作りやすければねぇ。

2017.05.22

GPU Zenのサンプル

GPU Zenのサンプルコードのリポジトリは下記みたいですね。

https://github.com/wolfgangfengel/GPUZen

2017.05.21

GPU ZenというGPUテクニック集めた新しい書籍

GPU Proなどの編集務めたWolfgang Engel氏のGPUテクニック集めた新しい書籍が出たようですね。

書籍のサイト
http://gpuzen.blogspot.jp/

Amazonを見ているとKindle版が、紙に比べて格段に値段が安いのでデジタルで読むのがいいのかもしれないですね。ただ、Kindleの電子ペーパーのやつでは対応しないようなのでiPadとかタブレットいると思います。

目次なんかを見ていると以前,Eidos Montreaのblogで公開されていた"Deferred+: Next-Gen Culling and Rendering for Dawn Engine"の詳細な記事が入っていますが、Webの記事消えちゃったので再度見たかったんですよね(ちなみに、購入してみました30ページ近くの解説.シェーダの提示もありでした。)。

Table of Content

Geometry Manipulation (Christopher Oat)
1.Attributed Vertex Clouds by Willy Scheibel, Stefan Buschmann, Matthias Trapp, and Jürgen Döllner
2.Rendering Convex Occluders with Inner Conservative Rasterization by Marcus Svensson and Emil Persson

Lighting (Carsten Dachsbacher)
1.Rendering stable indirect illumination computed from reflective shadow maps by Louis Bavoil and Holger Gruen
2.Real-Time Participating Media Effects Using Extruded Light Volumes by Nathan Hoobler, Andrei Tatarinov and Alex Dunn

Rendering (Mark Chatfield)
1.Deferred+: Next-Gen Culling and Rendering for Dawn Engine by Hawar Doghramachi and Jean-Normand Bucci
2.Programmable per-pixel sample placement with conservative rasterizer by Rahul P. Sathe
3.Mobile Toon Shading by Felipe Lira, Flávio Villalva, Jesus Sosa, Kléverson Paixão and Teófilo Dutra
4.High-Quality GPU-efficient Image Detail Manipulation by Kin-Ming Wong and Tien-Tsin Wong
5.Real-Time Linear-Light Shading with Linearly Transformed Consines by Eric Heitz and Stephen Hill
6.Profiling and Optimizing WebGL Application Using Google Chrome by Gareth Morgan

Screen-Space (Wessam Bahnassi)
1.Scalable Adaptive SSAO by Filip Strugar
2.Robust Screen Space Ambient Occlusion in 1 ms in 1080p on PS4 by Wojciech Sterna
3.Practical Gather-based Bokeh Depth of Field by Wojciech Sterna


Virtual Reality (Eric Haines)
1.Efficient Stereo and VR Rendering by Iñigo Quilez
2.Understanding, Measuring and Analyzing VR Graphics Performance by James Hughes, Reza Nourai, and Ed Hutchins

Compute (Wolfgang Engel)
1.Optimizing the Graphics Pipeline with Compute by Graham Wihlidal
2.Real Time Markov Decision Processes for Crowd Simulation by Sergio Ruiz and Benjam´ın Hernández

2017.05.19

PIX 1705.16が出てた

PIX 1705.16が出たみたいですね。

今回はAMD向けGPUのより深い分析に役立つプラグインの追加などがされてるようですね(NVIDIA向けはすでに公開済み。参考記事)。あと、DXIL向けの対応が始まってきたみたいですね。まだ、HLSL 5.x向けの機能からは制限が多いですが徐々に増えてくることになりそうですね。

PIX 1705.16 – AMD GPU counters, preliminary DXIL support, and more warnings
https://blogs.msdn.microsoft.com/pix/2017/05/17/pix-1705-16/

AMD側の記事は下記ですね。

DirectX12 Hardware Counter Profiling with Microsoft PIX and the AMD Plugin
http://gpuopen.com/directx12-hardware-counter-profiling-with-microsoft-pix-and-the-amd-plugin/

2017.05.16

glslangに定期的にHLSLを食わせてみてるけど

あんまり話題にしてないのですが、glslangに定期的にHLSLを食わせてみてるけどGDC以降かなり対応してきてる印象ですね。ひとまず、頂点、ピクセルシェーダはGDC前ぐらいからかなり取ってたけど、今はテセレーションやComputeも通りますね。

https://github.com/KhronosGroup/glslang

ただ、こいつは#includeが対応していないので普段はShadercで食わせるのですがSPIR-Vバイナリを作るの事態でエラーは出なくなってきましたね(警告はでる)。

https://github.com/google/shaderc

ただ、実際に出力されたものをあんまり実際の動作として検証していないので本当に使えるかはもうちょい調べないといけないですが。

より以前の記事一覧