フォト

Google AdSense

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

« 2017年5月 | トップページ | 2017年7月 »

2017.06.29

HLSLでISPCのコードを書く

HLSL to ISPC : HLSLのコードをISPCで実行できるようにするライブラリ
http://www.shader.jp/?p=1999

この試みは面白いですね。CPUとGPUどちらもSIMDで高速化というところは共通しますし。

SIGGRAPH 2017 Computer Animation Festivalトレイラー

SIGGRAPH 2017 Computer Animation Festivalトレイラーが公開になっていますね。

2017.06.27

オープンソースのアニメーション圧縮ライブラリ ACL : Animation Compression Library

GDC 2017で"Simple and Powerful Animation Compression"のセッションを発表したNicholas Frechette氏がアニメーション圧縮ライブラリの ACL(Animation Compression Library)を公開しています。私の方はアニメーションの専門家ではないのですが、気になる部分はあるので書いておきます。

リポジトリ
https://github.com/nfrechette/acl/

Nicholas Frechette氏自信のblog記事があります。

Introducing ACL
https://nfrechette.github.io/2017/06/25/introducing_acl/

"Simple and Powerful Animation Compression"のセッションのスライドは無料で見れるようで、これを事前に読んでおくとよさそうです。

GDC Vault : Simple and Powerful Animation Compression
http://www.gdcvault.com/play/1024463/Simple-and-Powerful-Animation

ソースを見た感じで現在まだ開発中のようでScaleには対応していない(Todoと書かれている)ようですし、アルゴリズムについても予定しているものの一部しか実装されていないようなので、今後の更新に期待したいですね。

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年5月 | トップページ | 2017年7月 »