2021/08/23(月) [n年前の日記]
#1 [nitijyou] 自宅サーバ止めてました
雷が鳴ったので、05:45-07:15まで、自宅サーバ止めてました。申し訳ないです。
朝方、結構な豪雨と雷に…。雨量が凄過ぎて、家の前の道路が川のような状態…。
朝方、結構な豪雨と雷に…。雨量が凄過ぎて、家の前の道路が川のような状態…。
[ ツッコむ ]
#2 [blender][cg_tools][povray] LuxCoreRender 2.5を試用
POV-Ray について調べているうちに、違うレンダラー、LuxCoreRender が気になってきたわけで。試用してみようかなと。現行版は 2.5 らしい。
環境は、Windows10 x64 21H1 + AMD Ryzen 7 1700 (8コア,16スレッド) + GPU NVIDIA GeForce GTX 1060 6GB。
_LuxCoreRender - Open Source Physically Based Renderer
_Download - LuxCoreRender
LuxCoreRender は、無料で利用できる物理ベースのレイトレーシングレンダラー。LuxRender の後継。
動作には、以下の2つも必要と書いてあった。一応DLしてインストール。
環境は、Windows10 x64 21H1 + AMD Ryzen 7 1700 (8コア,16スレッド) + GPU NVIDIA GeForce GTX 1060 6GB。
_LuxCoreRender - Open Source Physically Based Renderer
_Download - LuxCoreRender
LuxCoreRender は、無料で利用できる物理ベースのレイトレーシングレンダラー。LuxRender の後継。
動作には、以下の2つも必要と書いてあった。一応DLしてインストール。
- Visual C++ Redistributable Packages for VS 2017
- Intel C++ redistributable
◎ blenderで利用。 :
blender から LuxCoreRender を使える、BlendLuxCore というものが配布されているので、それをDLして blender から使ってみる。まあ、blender で物理ベースのレンダラーを使いたければ、Cycles を使えばいいのだけど…。
環境は、blender 2.83.17 x64 LTS。
BlendLuxCore-v2.5-win64.zip をDL。解凍はしなくていい。blender のアドオン設定で .zip を選択してインストールしてやれば使えるようになる。
ただ、試したところ、blender 2.83.17 x64 LTS 上ではインストールも有効化もできたけど、blender 2.93.2 x64 LTS 上では、有効化しようとしてチェックを入れてもエラーが出て有効化できなかった。
公式サイト・ダウンロードページをよく見たら、「blender 2.93以降は動かないよ!」としっかり書いてあった…。以下のページでも、blender 2.93 は、現在開発中の BlendLuxCore 2.6 で対応、と書いてある。blender 2.93 から Python のバージョンが変わったので、そのせいで動かなくなったのだとか。
_LuxCoreRender/BlendLuxCore: Blender Integration for LuxCore
さておき。アドオンを有効にすれば、EEVEE や Cycles と並んで、LuxCore という選択肢が増える。
念のために書いておくけど、じわじわと計算を続けて画像のノイズを消していく系のレンダラーなので、このくらいの画質で十分だなと思ったらESCキーを押して計算を止めること。あるいは、レンダリング設定の Halt Conditions で、時間、もしくはサンプル数の上限を指定して、その値に達したら計算を止めることもできる。
ただ…。自分の環境では、CPUで計算はできるけど、GPUで計算はできなかった…。GPU を選んでから、F12キーを叩いてレンダリングしようとしても、レンダリング結果を表示するウインドウが表示された後、固まってしまって、blender自体を強制終了する羽目になる。
もっとも、LuxCoreRender は、GPUで計算するよりCPUで計算するほうが反応が早い、という話もあるようで…。
_GPU mode is almost unusable - Issue #527 - LuxCoreRender/BlendLuxCore
CPUで計算する時は内部処理にポインタが使えるのですぐに計算を始められるけど、GPUでの計算はポインタが使えないから、ちょっと状態を変えただけでも、GPUで扱えるデータに毎回変換する処理が走って画面更新されるまでめっちゃ時間がかかる、とかなんとか書いてあるように見えた。であれば、CPUで計算させたほうがいいのかな…。
環境は、blender 2.83.17 x64 LTS。
BlendLuxCore-v2.5-win64.zip をDL。解凍はしなくていい。blender のアドオン設定で .zip を選択してインストールしてやれば使えるようになる。
ただ、試したところ、blender 2.83.17 x64 LTS 上ではインストールも有効化もできたけど、blender 2.93.2 x64 LTS 上では、有効化しようとしてチェックを入れてもエラーが出て有効化できなかった。
公式サイト・ダウンロードページをよく見たら、「blender 2.93以降は動かないよ!」としっかり書いてあった…。以下のページでも、blender 2.93 は、現在開発中の BlendLuxCore 2.6 で対応、と書いてある。blender 2.93 から Python のバージョンが変わったので、そのせいで動かなくなったのだとか。
_LuxCoreRender/BlendLuxCore: Blender Integration for LuxCore
さておき。アドオンを有効にすれば、EEVEE や Cycles と並んで、LuxCore という選択肢が増える。
念のために書いておくけど、じわじわと計算を続けて画像のノイズを消していく系のレンダラーなので、このくらいの画質で十分だなと思ったらESCキーを押して計算を止めること。あるいは、レンダリング設定の Halt Conditions で、時間、もしくはサンプル数の上限を指定して、その値に達したら計算を止めることもできる。
ただ…。自分の環境では、CPUで計算はできるけど、GPUで計算はできなかった…。GPU を選んでから、F12キーを叩いてレンダリングしようとしても、レンダリング結果を表示するウインドウが表示された後、固まってしまって、blender自体を強制終了する羽目になる。
もっとも、LuxCoreRender は、GPUで計算するよりCPUで計算するほうが反応が早い、という話もあるようで…。
_GPU mode is almost unusable - Issue #527 - LuxCoreRender/BlendLuxCore
CPUで計算する時は内部処理にポインタが使えるのですぐに計算を始められるけど、GPUでの計算はポインタが使えないから、ちょっと状態を変えただけでも、GPUで扱えるデータに毎回変換する処理が走って画面更新されるまでめっちゃ時間がかかる、とかなんとか書いてあるように見えた。であれば、CPUで計算させたほうがいいのかな…。
◎ LuxMarkを試用。 :
GPUで計算できない件が気になってググってたら、「LuxMark を動かして認識されてるデバイスを確認せよ」という話を見かけた。
LuxMark は、LuxCoreRender を利用して動かすベンチマークソフト。レンダリング処理を通じて、そのハードウェアの性能を測定するらしい。
_LuxMark v3 - LuxCoreRender Wiki
_LuxMark v4 - LuxCoreRender Wiki
以下の2つを試用してみた。DLして解凍。任意のフォルダに置いて、luxmark.exe を実行すればベンチマークが取れる。
動かしてみたところ、「Hardware Devices」に、OpenCL を利用できるデバイスとして「GeForce GTX 1060 6GB」が表示された。ということは、自分の環境でも GPU + OpenCL で計算できるはずだよなあ…。blender上でGPUを使って計算できないのは、おかしいなあ…。
ちなみに、ベンチマーク結果は…。
GPUについているチェックマークを外して、CPUs のほうを選択した状態で動かしてみた。結果画面に GPU名が出てこなくなった。ということは、この場合、CPUだけで計算できてるということなんだろうか。ベンチマーク結果は 893。…GPUを使って計算した時と似たような結果になった。
すると、GPUで計算しようが、CPUで計算しようが、自分が使ってるハードウェアスペックでは、さほど違いはないということになるのだろうか…? 本当にそうなのか、ちょっとよく分からないな…。
LuxMark は、LuxCoreRender を利用して動かすベンチマークソフト。レンダリング処理を通じて、そのハードウェアの性能を測定するらしい。
_LuxMark v3 - LuxCoreRender Wiki
_LuxMark v4 - LuxCoreRender Wiki
以下の2つを試用してみた。DLして解凍。任意のフォルダに置いて、luxmark.exe を実行すればベンチマークが取れる。
- luxmark-windows64-v3.1.zip
- luxmark-v4.0alpha0-win64.zip
動かしてみたところ、「Hardware Devices」に、OpenCL を利用できるデバイスとして「GeForce GTX 1060 6GB」が表示された。ということは、自分の環境でも GPU + OpenCL で計算できるはずだよなあ…。blender上でGPUを使って計算できないのは、おかしいなあ…。
ちなみに、ベンチマーク結果は…。
- LuxMark 3.1 x64 + Scene LuxBall HDR + GeForce GTX 1060 6GB : 12531
- LuxMark 3.1 x64 + Scene LuxBall HDR + Native C++ (CPU?) : 3492
- LuxMark 4.0 alpha 0 x64 + Scene Food + GeForce GTX 1060 6GB : 837
- LuxMark 4.0 alpha 0 x64 + Scene Food + Native C++ : 933
GPUについているチェックマークを外して、CPUs のほうを選択した状態で動かしてみた。結果画面に GPU名が出てこなくなった。ということは、この場合、CPUだけで計算できてるということなんだろうか。ベンチマーク結果は 893。…GPUを使って計算した時と似たような結果になった。
すると、GPUで計算しようが、CPUで計算しようが、自分が使ってるハードウェアスペックでは、さほど違いはないということになるのだろうか…? 本当にそうなのか、ちょっとよく分からないな…。
◎ LuxCoreRender Standalone も導入。 :
単体で動作できる、スタンドアローン版も試用してみた。luxcorerender-v2.5-win64.zip をDLして解凍。任意のフォルダに置いて、luxcoreui.exe を実行。
解凍したフォルダの中に、scenes/cornell/cornell.cfg が入ってるので、開いてレンダリングをしてみれば動作確認ができる。
Engine の中に、xxxxCPUしか並んでない。GPUが選べないように見えるのだけど…。
解凍したフォルダの中に、scenes/cornell/cornell.cfg が入ってるので、開いてレンダリングをしてみれば動作確認ができる。
Engine の中に、xxxxCPUしか並んでない。GPUが選べないように見えるのだけど…。
[ ツッコむ ]
#3 [cg_tools][povray] FreeCAD 0.1.9 を試用
POV-Ray関係の情報をググってるうちに、FreeCAD + POV-Ray という組み合わせをたまたま目にした。もしかして FreeCAD を POV-Ray のモデリングツール代わりに使えるのではないか。試してみよう…。
環境は、Windows10 x64 21H1。
_FreeCAD: あなたのための 3D パラメトリック・モデラー
FreeCAD は無料で利用できる3D-CAD。
FreeCAD-0.19.2.7b5e18a-WIN-x64-installer1.exe をDL。実行してインストール。
使い方は、以下のページが参考になりそう。
_実験記録 No.02 : FreeCAD - 初心者向けチュートリアル
_無償3D CAD「FreeCAD」を使ってみよう - MONOist
環境は、Windows10 x64 21H1。
_FreeCAD: あなたのための 3D パラメトリック・モデラー
FreeCAD は無料で利用できる3D-CAD。
FreeCAD-0.19.2.7b5e18a-WIN-x64-installer1.exe をDL。実行してインストール。
使い方は、以下のページが参考になりそう。
_実験記録 No.02 : FreeCAD - 初心者向けチュートリアル
_無償3D CAD「FreeCAD」を使ってみよう - MONOist
◎ レンダリングしてみた。 :
FreeCAD は、POV-Ray、もしくは LuxRender (LuxCoreRender) を呼び出して、レンダリングをすることもできるらしい。
_FreeCADのレンダリング関連ワークベンチはまだまだ発展途上!?:無償3D CAD「FreeCAD」を使ってみよう(7)(1/5 ページ) - MONOist
POV-Ray 3.7 x64 をインストールしてある環境で、上記の記事に従って自分も試してみた。
ちょっとハマったのは、PovProject に各パーツを登録していくあたり。PovProject さえあれば全体が自動的にレンダリングされるのかと思い込んで作業して「変だな…レンダリングされないぞ…?」と悩んでた…。「このパーツをレンダリング対象にしろ」的に、登録していかないとダメなのだな…。
さておき。自分の環境も、たしかに POV-Ray 3.7 (pvengine.exe) が起動するものの、エラーメッセージが表示されてレンダリングが実行されなかった。
出力された .povファイルを、手動で起動した POV-Ray で開いて Run をしたら、一応レンダリングはされた。つまり、FreeCAD から直接 POV-Ray を呼び出して利用することはできないけれど、FreeCAD から .pov を出力してそれを利用することはできなくもない、という状態っぽい。
しかし…。穴を開けた部分や、角を丸めた部分が、何一つ反映されてなかった。これでは全然使い物にならない…。
また、形状データはことごとく mesh2 になっていた。
ダメじゃん。それでは意味が無いじゃん。
FreeCAD上では、矩形や円の押し出しで形状を作って、かつ、それら矩形や円の情報をいつまでも保持しているのだから、それらのデータの持ち方を比較的保持したまま POV-Ray に形状データを渡すことを期待してたわけで…。ポリゴンの羅列に変換されてしまうなら、あえてわざわざ FreeCAD を使う意味が無い。だったら最初から別のツールを ―― 例えば Wings 3D あたりでも使ったほうが快適に作業できるわけで…。
それはともかく。.povファイルを覗いてみたら、「#version 3.6;」という文字列が目に入った。ひょっとすると FreeCAD は POV-Ray 3.6 の仕様に合わせてこのあたりの機能を作ってあるような気がする…。
更におそらく POV-Ray は、3.6 から 3.7 になる際、他のプログラムから呼び出される時の仕様が色々変更されているのではないかなと邪推してみたりして。「POV-Rayを呼び出してレンダリングできます」と謳ってたこの手のソフトは、軒並み POV-Ray 3.7 に未対応・正常動作しないので…。POV-Ray 側が無頓着に仕様を変えてしまったのではないかなあ、と。
ただ、POV-Ray 3.7 は2013年に公開されているので、そこからずっと何年も、他のソフトが未対応のままというのも妙な話で…。
もっとも、つまりはそれだけ、POV-Ray は誰も使わないソフトになっているのかもしれず。POV-Ray を呼び出せるその手のソフトがそもそもえてしてマイナーだったりするし、加えて POV-Ray を呼び出そうとする人はほとんど居ない、ということかも…。
_FreeCADのレンダリング関連ワークベンチはまだまだ発展途上!?:無償3D CAD「FreeCAD」を使ってみよう(7)(1/5 ページ) - MONOist
POV-Ray 3.7 x64 をインストールしてある環境で、上記の記事に従って自分も試してみた。
ちょっとハマったのは、PovProject に各パーツを登録していくあたり。PovProject さえあれば全体が自動的にレンダリングされるのかと思い込んで作業して「変だな…レンダリングされないぞ…?」と悩んでた…。「このパーツをレンダリング対象にしろ」的に、登録していかないとダメなのだな…。
さておき。自分の環境も、たしかに POV-Ray 3.7 (pvengine.exe) が起動するものの、エラーメッセージが表示されてレンダリングが実行されなかった。
出力された .povファイルを、手動で起動した POV-Ray で開いて Run をしたら、一応レンダリングはされた。つまり、FreeCAD から直接 POV-Ray を呼び出して利用することはできないけれど、FreeCAD から .pov を出力してそれを利用することはできなくもない、という状態っぽい。
しかし…。穴を開けた部分や、角を丸めた部分が、何一つ反映されてなかった。これでは全然使い物にならない…。
また、形状データはことごとく mesh2 になっていた。
ダメじゃん。それでは意味が無いじゃん。
FreeCAD上では、矩形や円の押し出しで形状を作って、かつ、それら矩形や円の情報をいつまでも保持しているのだから、それらのデータの持ち方を比較的保持したまま POV-Ray に形状データを渡すことを期待してたわけで…。ポリゴンの羅列に変換されてしまうなら、あえてわざわざ FreeCAD を使う意味が無い。だったら最初から別のツールを ―― 例えば Wings 3D あたりでも使ったほうが快適に作業できるわけで…。
それはともかく。.povファイルを覗いてみたら、「#version 3.6;」という文字列が目に入った。ひょっとすると FreeCAD は POV-Ray 3.6 の仕様に合わせてこのあたりの機能を作ってあるような気がする…。
更におそらく POV-Ray は、3.6 から 3.7 になる際、他のプログラムから呼び出される時の仕様が色々変更されているのではないかなと邪推してみたりして。「POV-Rayを呼び出してレンダリングできます」と謳ってたこの手のソフトは、軒並み POV-Ray 3.7 に未対応・正常動作しないので…。POV-Ray 側が無頓着に仕様を変えてしまったのではないかなあ、と。
ただ、POV-Ray 3.7 は2013年に公開されているので、そこからずっと何年も、他のソフトが未対応のままというのも妙な話で…。
もっとも、つまりはそれだけ、POV-Ray は誰も使わないソフトになっているのかもしれず。POV-Ray を呼び出せるその手のソフトがそもそもえてしてマイナーだったりするし、加えて POV-Ray を呼び出そうとする人はほとんど居ない、ということかも…。
◎ 別フォーマットでエクスポートしてみた。 :
形状データがポリゴンに変換されてしまうあたりにちょっとガッカリしたけど、でもまあ、ポリゴンに変換してしまえば、他のソフトでも読み込めるようになるし…。と気を取り直して、Wavefront OBJ (.obj) でエクスポートして blender でインポートしてみたのだけど。
角の丸みがガタガタ…。曲面をポリゴンで置き換える際の分割数が少な過ぎる…。このあたり、オプションで変えられないのかな…。
.dae でエクスポートしてみた。このフォーマットなら、もう少し細かく分割される模様。
.stl でもエクスポートしてみた。これも .dae と同程度に分割されていた。
角の丸みがガタガタ…。曲面をポリゴンで置き換える際の分割数が少な過ぎる…。このあたり、オプションで変えられないのかな…。
.dae でエクスポートしてみた。このフォーマットなら、もう少し細かく分割される模様。
.stl でもエクスポートしてみた。これも .dae と同程度に分割されていた。
◎ 雑感。 :
FreeCAD を POV-Ray関係のモデリングツールとして使えないかと期待してたけど、全然ダメだった。直接呼び出せないし、ポリゴンに変換されちゃうし…。これは使えないなと…。ちょっと残念。もっとも、POV-Ray を使ってレンダリングする機能はオマケのようなものかもしれないので、期待するほうがおかしいのかもしれず。
この記事へのツッコミ
[ ツッコミを読む(1) | ツッコむ ]
以上、1 日分です。
形状の問題はメッシュに変換するfreecadの問題ですね。
レイトレースの品質は無数にあるパラメータの組み合わせで良くも悪くもなるので、cad使いの人でも、レイトレースの知識がないと使えないものだと思います。