MacでBlenderはGPUレンダリング環境が弱いのでネットワークレンダリングしたい。



MacのGPUはAMD縛りだから・・・

いつからかMacのGPUはAMDだけになった。
当然、NVIDIAのGPUは購入してもドライバーも無くまともに使う事ができない。
その結果3DCG界隈ではCUDAなどでレンダリング動作速度を加速させているのに置いてけぼり。
OpenCLも非対応なので打つ手なし。

MacでGPUレンダリングはRadeon Pro RenderかOctane Renderぐらいしかない。
Radeon Pro Renderを使っているけどAddinのアセットはCycles対応の物が多く
正常にテクスチャーを表示できない場合が多い。
ついでにパーティクルやノードでアセットをばらまき配置する植物系ではレンダリング開始前に
MacOSを巻き込んでクラッシュするという不安定な状態。
景観関係のCGではほぼ使えない。

Octane Renderを使えば良いのかもしれないけど使用料金がお高い・・・

だったら、余ってるパソコンを使ってネットワークレンダリング。

そこで、ネットワークレンダリングをしてみようと思った。
予備機の2012MacProやWindows機を繋いで分散処理させればレンダリング時間短縮できる。
Mac版BlenderのCyclesはムッチャ遅いから力業しかないもんね。

見つけたのはCrowd RenderというフリーのレンダーファームAddin。
AddinなのでBlenderにインストールすればすぐに使えるから余ったパソコンがあれば即動く。
ただし無償版はBlender2.9.2まで対応で2.9.3は保証外。
ただ、変更LOGを見てみると特に大きな変更はなさそうなの2.9.3で使ってみることにした。

Windows10では動作しなかったがMacでは動作した。

早速Crowd Renderに登録して無償版をダウンロードインストールした。
MacではインストールしてCrowd Renderをスタートさせると問題無く’ネット経由で情報を取得し
ネットワークレンダリングできる状態のパソコンを表示してくれる。

だが、Windows10ではインストールしてスタートさせても情報取得できないし。
自分自身も準備完了にならない。
ファイヤーウォール設定をいじってみたけどダメだったので諦めた。

Mac同士では問題無くネットワークレンダリングができてCPUをフルに稼働させて処理できた。
気持ちよいぐらいレンダリング時間は短縮できた。
2012MacProの6×2コア+仮想6×2コア、Mac miniの6コアで力業レンダリング。

だが・・・絵がおかしい。

Crowd RenderではBlenderのファイルは情報を全て含んだパックで保存する必要がある。
そしないと情報を持っていないクライアント側のレンダリング結果はピンクのワイヤーフレームに
なってしまいガッカリする。

それと、Addinでアセットを使う場合はクライアントにも同じAddinを入れておく必要がある。
そうしないとホストとクライアントで情報整合処理する時にFaild表示となり
レンダリング処理がクライアント側で開始されない。

それらの必要な作業を全てやったんだけど・・・絵がおかしい。
ホスト側つまりMac miniの仕事範囲の絵がやたら明るくなって分割部分でクッキリ明暗が
分かれてしまいガッカリ変質な絵が出てくる。
ただ、Mac mini単体でレンダリングをするとクライアントの2012MacProの仕事範囲の絵と同じ
明るさになるのでCrowd Renderの処理がおかしいのかもしれない。

これはHDRIを光源にしてもアセットのAddinを異なる物にしてもダメ。
アセットを散布せず実物を配置しても同じ結果となる。
ただ、その他の地面などのオブジェクトだと差がわからない。

さて、4ドル/月支払って最新のAddinを入手するか
当分の間はネットワークレンダリングを諦めてクッソ遅いレンダリング処理をさせるか
悩まなきゃなぁ・・・