パストレーシングレンダラーmPathの改良点
https://www.youtube.com/watch?v=2vo5R2FZvhM
Modoバージョン14.1では、バージョン13.2から搭載された新たなレンダラーmPathに対して、大きく手が加えられています。
mPathはパストレーシングを活用したレンダラーであり、CPUだけでも利用できますし、GPUを利用することもできるレンダラーとなっています。このバージョン14.1では、さらに実用的に使えるよう、新たなオプションも搭載されました。
このサンプルシーンは、なだらかな地形の表面に、サーフェイスパーティクルジェネレータを使い、リプリケータ機能を利用して、膨大な数のメッシュを配置しています。こちらのサンプルシーンのレンダリングを例に、mPathの改良結果をみることにしましょう。
レンダラーの設定はシェーダツリーからルートとなるRenderを選択し、設定タブをクリックすると、一番上で選択できるようになっています。レンダラーのポップアップには従来のレンダラーであるデフォルトと、パストレーシングのレンダラーであるmPathが用意されていますので、まずは実際にデフォルトでこのシーンをレンダリングした結果を、レンダリングウィンドウで確認してみます。
レンダリングウィンドウの統計タブを見てみると、レンダリング画像に関する情報がリストされています。これを見てみると、このシーンの頂点数、ポリゴン数は膨大なものとなっていますが、デフォルトのレンダラーではレンダリング時間が7m33sかかっているのがわかります。パスの項目にあるレイトレース時間、これがパストレーシングにかかる時間を表しているのですが、デフォルトのレンダラーではパストレーシングは行っていないため、このレイトレース時間の個所はすべて0秒になっています。
ではこれをmPathでレンダリングした結果を見てみましょう。
レンダラーからmPathを選択してみると、そのすぐ下にレイトレーシングエンジンを選択するポップアップが出てきます。ポップアップを見てみると、Foundry SSE (CPU)とIntel Embree (CPU)、それにNVIDIA Optix (GPU)の三つがリストされているのが確認できます。14.1より前のバージョンまではFoundry SSEとNVIDIA OptiXの二つだったのが、14.1からは新たにIntel Embree (CPU)という選択肢が増えています。
最初にFoundry SSE (CPU)を選択した場合の結果を見てみます。レイトレースエンジンの個所がFoundry SSE (CPU)になっています。かかったレンダリング時間は7m42sぐらいで、デフォルトのレンダラーとさほど差がありません。
では次にレイトレーシングエンジンにIntel Embree (CPU)を選択した場合です。このIntel Embree (CPU)とはCPUによる演算ではあるのですが、CPUベースのレイトレーシング用ライブラリを用いたレイトレーサーとなっています。このため、mPathのようなパストレーシングの演算には、非常に効果を発揮してくれます。このレイトレーシングエンジンを用いた場合、レンダリング時間は3m59s、約4m弱と先ほどよりも大幅にレンダリング時間が短縮されているのが確認できます。
さらに今度はNVIDIA OptiX (GPU)を選択した結果を見てみます。今回レンダリングに使用したマシンに搭載されているGPUはNVIDIAのQuadro RTX 5000です。RTXはレイトレーシングテクノロジを搭載したGPUですので、特にmPathを使用したレンダリングには効果を発揮します。
かかったレンダリング時間を見てみると、2m35sと先ほどよりもさらにレンダリング時間が短縮されているのがわかります。具体的にレイトレース時間を見てみると、拡張レイトレーシングおよびシャドーレイトレーシングにかかる時間が短くなっています。レンダリング時におけるGPUの使用率を見てみても、GPUがレンダリングに使われているのが確認できます。
このように14.1ではmPathに大きな改良が加えられており、レイトレーシングライブラリやGPUのパワーを利用したレンダリング時間の短縮が図られています。ただし、今回のシーンのように膨大なレイを必要とするシーンでは大きな力を発揮しますが、シーンの構成によってはそれほど違いが出てこないといった場合もあるかと思います。ですので、レンダリングするシーンによって、最適なレンダラーを選ぶようにしてください。