フォト

Google AdSense


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

« 2015年3月 | トップページ | 2015年5月 »

2015.04.30

Windows 10の10074ビルドとかいろいろ

自宅で一台Windows 10を入れているのですが、ビルド10074に更新しました。

それからVisual Studio 2015 RC が出たので自宅のWindows 10に入れようということで、インストール開始。

今までずっとUltimateでしたが、今回から無料版のCommunity EditionがRCで出てきたので、こちらでいきます。

https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx

あと、Raspberry Pi 2にインストールできるWindows 10 Insider Preview.が出たようなのでRaspberry Pi 2をケース付きで注文してみました。

http://ms-iot.github.io/content/win10/SetupRPI.htm

※Raspberry Pi 2をインストールしたり開発したりはPCにもWindows 10が必要そうですね。

Windows IoTの開発のサンプルを見てるとUniversal Appで開発できそうですね。このサンプルはC#だけでもほかの言語も行けるかな?

Windows IoT - HelloWorld
http://ms-iot.github.io/content/win10/samples/HelloWorld.htm

なかなかやることが増えてしまいましたが、わくわくすることが多いのがいいですね。

Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear)
Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear)
TechShare
売り上げランキング : 157


Amazonで詳しく見る
by G-Tools

2015.04.29

連休

ひとまず、5/6までは休みます。

休み中Gear VR届くといいんですが。

2015.04.28

Unity 5のPBRなStandard Shaderのスペキュラーのハイライトの話

※画像はクリックするとすべて大きなサイズになります。

Unity 5のStandard Shaderは物理ベースになり、Cook-torranceでGGXと言われているのですが、ビルドするターゲットによって3段階の違いがあるそうです

この話は、GDC 2015の時にセッションで話がされており、実は、OpenGL ES 2.0の時はCook-torranceではなくBlinn-Phongです。これは、OpenGL ES 2.0のGPUの演算能力やシェーダの制約が理由なわけです。

この話については、"Unity 5 Graphics Smörgåsbord"のスライドの中で書かれています。

http://aras-p.info/texts/files/201503-GDC_Unity5_Graphics.pdf

Math
スライドを抜粋した部分

そんなわけで、ちょっとハイライトを見てみようかと思います。

Ggx
Windows PC向けのDX11での実行

Blinn
プラットフォームをAndoirdにスイッチしてみた見た目。OpenGL ES 2.0相当。

Compare
並べてみた

この通り実際にスペキュラーのハイライトが大きく変わっているのがわかります(うっかりしてましたが、他にも見た目の違いが大きくありますがDX11とOpenGL ES 2.0でHDRとかその辺かも)。

Standard Shaderでもプラットフォームによってどう違うの?っていうのはハイエンドからモバイルまでスケーラブルに展開する上で知っておく必要がある話ですね。

そういえば、Unity 5.1でOpenGLのコードに大幅に手が入っているので、もしや3.1や3.1 + AEPではGGXになっているのでは?という疑問が湧きます。それはまた今度。

2015.04.27

テセレーションテスト

とりあえずSHIELDタブレットでStandard Assetsのテセレーションシーン動いたので、これも大丈夫そう。残念ながらGalaxy S6はダメですね。

Unity 5.1からのGLSL変換の話

UNITE 2015 Tokyoなんかで言われてましたが、Unity 5.1ではOpenGLのコードに大幅に手が入るようですね。

そのことに関しては、Beta 3のRelease Noteに色々と書かれています。

http://unity3d.com/jp/unity/beta/unity5.1.0b3

たとえば、Featuresを読むとOpenGL 4.5とかES 3.1のWindowsサポートなどが書かれていますね。

Graphics: Experimental support for OpenGL 4.5 and ES 3.1 on Windows. Use -force-glcore, -force-gles(20|30|31|31aep) arguments to enable. This enables testing OpenGL ES 3.1 features on desktop. Note: no GL4 support on Mac yet.

コレに伴いシェーダーのトランスコード周りも色々と変わったようですね。

Shaders: OpenGL ES 3.0+ will use a new shader compiler backend. Based on HLSL + github.com/James-Jones/HLSLCrossCompiler + glsl-optimizer. This enables compute shaders on ES3.1 and other modern features. Existing Cg/HLSL compute, geometry and tessellation shaders can be used via automatic translation as well as with direct GLSL snippets. Note: Memory layout rule differences between DX and GL must be taken into account on the buffer data uploads.

Unityでは、従来CgやHLSLをhlsl2glslforkでGLSLにトランスコードして、それでは最適化が十分ではないので、glsl-optimizerにかけて最適化をかけてました。ちなみに、どちらもUnity TechnologiesのAras Pranckevičius氏のリポジトリですね。

hlsl2glslfork
https://github.com/aras-p/hlsl2glslfork

glsl-optimizer
https://github.com/aras-p/glsl-optimizer

ただ、hlsl2glslforkは元のシェーダがシェーダモデル3.0までの構文でないとダメですし、さらに頂点シェーダ、ピクセルシェーダ以外のシェーダステージに対応していませんでした。

そんなわけで、Unity 5.1からはOpenGL ES 3.0以降はHLSLCrossCompilerを使うようにしたみたいですね。その後で、glsl-optimizerをかけるという感じですね。HLSLCrossCompilerは、コンパイルしたHLSLのバイトコードをGLSLにしちゃうわけですが、Direct3D11のHLSL 5.0の文法に対応するので、こちらを使うってことなんでしょうね。

HLSLCrossCompiler
https://github.com/James-Jones/HLSLCrossCompiler

こうした変更というのはそのうちUnity Technologies blogなんかでも書かれるとは思いますが、マルチプラットフォーム開発でGLSLは人間が書きたくないというような場合に色々と参考になりますね。

さらに、これでしばらくは大丈夫...ってことではなくVulkanが出てきたらSPIR-Vを色々といじってHLSLからの変換をもっと賢くやるのかな?など気になってしまいますね。

2015.04.26

Unity 5.1 BetaでAndroidでCompute Shaderテスト

ベータテスト中のUnity 5.1ではOpenGLに関してかなり色々なところに手が入っているようですが、その中の一つとしてCompute Shader対応があります。

以前、Windows用にShader.jpでUnity 4.0のCompute Shaderの利用方法を書いたのですが、それを移植してみました。

以前書いた記事
http://www.shader.jp/?page_id=916

とりあえずGalaxy S6で動きました。

今回のコード: Unity 5.1用
https://github.com/shaderjp/Unity5ComputeShaderTest

Escs


2015.04.25

FBX SDK 2016出てた

新しい要素として何が入ったか不明ですが、FBX SDK 2016出てますね。

http://usa.autodesk.com/adsk/servlet/pc/item?id=24314456&siteID=123112

2015.04.24

ゲームエンジンアーキテクチャ第2版Kindle版

ゲームエンジンアーキテクチャ第2版Kindle版が出たので購入。

紙もいいのですが、なかなかぶあつくて持ちはこぶの大変ですからねぇ。

Gear VRにそなえて

スマホ2回線あるうちの一回線をGalaxy S6にしてきました。

あとは、Gear VRが届けば。

2015.04.20

NVIDIAのGameWorlsを組み込んだUE4リポジトリ

メモ:NVIDIAのGameWorlsを組み込んだUE4リポジトリ。

https://github.com/NvPhysX/UnrealEngine/

ブランチの方にVXGIとかFlexがあります。

UE4のサブスクリプションに入ってないとたぶん見れないです。

2015.04.18

Unity 5.1 Beta公開開始

Unity 5.1のBeta 3が公開になっています。なお、今回はUnity 5のProfessinalのライセンスを持っていないとBetaテストはできないハズです。

http://unity3d.com/unity/beta

Release Noteに色々と書いてますが、個人的に楽しみだった機能の1つは下記。ついに、AndroidでもCompute Shaderやテセレーションが使えますね。SHIELDタブレットなどTegra K1だと使えそうなので試してみたいですね。

Graphics: OpenGL ES 3.1 support on Android
・New graphics levels (OpenGL ES 3.1, OpenGL ES 3.1 + AEP)
・Compute shaders
・Geometry shaders
・Tessellation shaders
・Advanced blend modes

あとはVR関連のアップデートも試しておかないと。

2015.04.16

Unity 5.1 Betaの情報

UNITEでは、Unity 5.1(6月リリース予定)やUnity 5.2(9月リリース予定)の話題というのが結構出てきていたわけですが、Unity 5.1のBetaは4月中には出てきそうですが、その情報がありました。なお、Unity 5からBetaへのアクセスはProfessinalのユーザーが優先になると思います。

http://forum.unity3d.com/threads/5-1-beta-information-preview.317493/

細かな仕様が書かれてますが、個人的に気になるグラフィックスの話題は"Unified GL Rendering Backend"ですね。

詳細ドキュメント
https://docs.google.com/document/d/1jZU7bhYy4rumbuXTlYy7yNgS7Xfhs8doiwBQLnR0Lmo/edit

個人的に、モバイルでサポートして欲しい機能がOpenGL ES 3.1のCompute Shaderなのですがそのあたりに関しては記述がありますね。

Direct3D11での実装との違いなどなかなか興味深いですね。

それからUNITEでも話題に上がりましたが、VRのこともあります。

https://docs.google.com/document/d/1GkSkKsjyl5NOvShN-jG_nmuTav6ckRWlJUt6LnO5b5o/edit

自分はProfessionalユーザーなので出たら早めに試したいですね。

2015.04.14

昔のコード

久しぶりにムービーテクスチャが必要になったんですが、あの辺のコードもGithubに置いておくか-。

2015.04.01

新年度

年度末色々と締め切り仕事があったのですが、それら片付いて新しいネタに入れる時期なので、個人としてもなんかアウトプットしたいですな。

« 2015年3月 | トップページ | 2015年5月 »