土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

モバイル環境での遅延シェーディングがアリになったタイミングの話

 モバイル環境での遅延シェーディング(ディファードシェーディング)は、元々非サポートだったのが少し前からアリになったというのは小耳にかじっていたのですが、ドキュメントを読んでいたら、2017.4から解説が更新されている事に気づきました。

2017.3
https://docs.unity3d.com/ja/2017.3/Manual/RenderTech-DeferredShading.html
モバイルでは、たいてい MRT 形式が使用されているため、デファードシェーディングはサポートされません (複数のレンダリングターゲットをサポートする GPU のいくつかは、かなり制限されたビット数だけしかサポートしません)。
※土屋注「MRT形式が使用されているため」→「使用されているMRTの形式の関係で」くらいの意
https://docs.unity3d.com/2017.3/Documentation/Manual/RenderTech-DeferredShading.html
On mobile, deferred shading is not supported, mostly due to MRT formats used (some GPUs which do support multiple render targets, still only support very limited bit counts).

2017.4
https://docs.unity3d.com/ja/2017.4/Manual/RenderTech-DeferredShading.html
モバイルでは、ディファードシェーディングは、最低 OpenGL ES 3.0 を実行するすべてのデバイスでサポートされます。
https://docs.unity3d.com/2017.4/Documentation/Manual/RenderTech-DeferredShading.html
On mobile, deferred shading is supported on all devices running at least OpenGL ES 3.0.

 とはいえまあ、Unityで遅延シェーディングが一般化するのは、SRPがもう少しこなれてからでしょうね……。土屋のシェーダー本でも、SRPとセットで紹介する予定です(何巻に収録されるかはちょっとわからない……。少なくともLWRPが正式リリースになるまでは待ちかなあ)。

[asin:4862464130:detail]