フォト

Google AdSense

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

« テセレーションテスト | トップページ | 連休 »

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になっているのでは?という疑問が湧きます。それはまた今度。

« テセレーションテスト | トップページ | 連休 »

Programming」カテゴリの記事

画像付き」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« テセレーションテスト | トップページ | 連休 »