[ misc ] レンダリング管理

Mayaには標準でレンダリング管理ツールがない。

たとえばbackburnerやrush、Qube!あたりがそれにあたるんだけど、
どれもお金がかかるから、気軽に試せる感じのものではない。

会社には独自の管理ソフトがあるから仕事でいきなり役に立つとかはないんだけど、
お勉強ということで考えてみる。


まずレンダリング管理をしたいというそもそもの目的は、
数あるマシンにそれぞれタスクを投げて回ってるような暇なんかない!とか、
単純にそんなこと面倒だ!とか、
アプリケーション立ち上げたら現状のタスクが確認できて良い、とか、
そんなところでしょう。

考えてみたのが、中央サーバー型。
まずスレッドを割り当てるサーバー用のマシンがどこかにいます。
そいつのIPめがけて各クライアントがアクセスしてきます。
アクセスの際に、idle状態になっているやつに対してスレッドを投げてやります。
んで処理が完了したらまたサーバーめがけてidleの合図を送ります。

っていう感じでいいんじゃないかなぁ。
このデータの何フレから何フレまで、みたいなのは
MELでやってることとほとんど変わりないはずだし、省略。

なので、このフレームさえ出来てしまえば、MayaだろうがMaxだろうが、
コマンドラインから実行出来ることは全部出来てしまうはず。

んで、ネットワークプログラミング。
pythonにはtwistedというモジュールもあるみたいだけど、
簡単なものしか作る気がないので、
もしかしたら標準モジュールのsocketだけでもいけるような気がする。

うーん、作ってみたい気もする、、

このぐらいならc++とかでもやれるんじゃないのか?
さすがに面倒??

ちょっと調べたところ、windowsではwinsockというモジュールを使って
ソケットプログラミングをするらしいことがわかった。
実際に想定している環境はwindowsばっかりだし、まぁ問題ないか。

ちょっと時間見つけて是非。

「[ misc ] レンダリング管理」への4件のフィードバック

  1. 大体同じような仕組みなんじゃね。

    ただ、idleではなく
    クライアントの返す文字列を逐一拾って
    “render done”みたいな文字列を拾えたら次のタスク、って感じだと思う。”Error”が出たら止める、とかね。

    (そっしてクライアントはクライアント用ソフトでレンダリング参加on/off切り替えられる)

    Pythonで絶対可能だよ(わが社のそうだし)

    興味はあるけどサポートが大変だからなぁ・・・。
    PHP並みに楽勝で書けるならいいが・・・。

  2. >hajimeさん
    あ、まさにそんな感じのものを考えてました。
    pythonで可能ってのもわかるんですが、ここでもpython使っちゃったらおれC++いつ使うんだろう‥?って思ったのでC++もアリかなぁと思った次第です。
    実際はどっちでもいいんです。
    いきなり実務で使うような予定もないですし、サポートとか考えず勉強がてら。

  3. Python twistedでググって26ページ目にこのページがひっかかりましたw

    くそー、いいページ無いもんだな・・・。

  4. >hajimeさん
    ぶはははははwwww
    最近妙にヒット率が高い当ブログへようこそww

コメントを残す

メールアドレスが公開されることはありません。