>   >  痴山紘史の日本CG見聞録:第3回:USD環境の構築
第3回:USD環境の構築

第3回:USD環境の構築

USDのバージョン指定

現在(2018年7月10日時点)の最新リリース版はv0.8.5です。

※USD_VERSIONを指定してもDockerfile内で0.8.1という値がハードコーディングされてしまっているので、作成されるコンテナの名前は0.8.1になってしまいます。全部書き換えてもいいのですが、今回は面倒なのでそのままにしておきます。

$ vi centos7/usd/Dockerfile

# 0.8.5 に書き換え
ENV USD_VERSION "0.8.5"

インストール

$ sudo ./build-centos7.sh ../apps/

数十分から数時間ほど待つと処理が終わります。私の環境では40分くらいで終わりました。

さて、ビルドは無事に成功したでしょうか?

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
usd-docker/usd      0.8.1-centos7       14dd3f8fefa4        6 minutes ago       3.63GB
usd-docker/usd      latest-centos7      14dd3f8fefa4        6 minutes ago       3.63GB
usd-docker/vfx      1-centos7           0f98602ca6a6        27 minutes ago      2.76GB
usd-docker/vfx      latest-centos7      0f98602ca6a6        27 minutes ago      2.76GB
                            374b1682290a        About an hour ago   2.28GB
usd-docker/base     1-centos7           3f8667ce0f30        About an hour ago   2.28GB
usd-docker/base     latest-centos7      3f8667ce0f30        About an hour ago   2.28GB
                            baea292c0265        About an hour ago   2.18GB
nvidia/cuda         7.5-devel-centos7   1c32c124906d        4 days ago          1.24GB

$ sudo nvidia-docker run --rm --env=DISPLAY=$DISPLAY --env="QT_X11_NO_MITSHM=1" --env="LIBGL_ALWAYS_INDIRECT=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --volume="/home:/home:rw" -ti usd-docker/usd:latest-centos7 /opt/usd/usd/0.8.5/bin/usdview /opt/usd/usd/0.8.5/share/usd/tutorials/convertingLayerFormats/Sphere.usd

見事にusdviewが起動しました!!


・サンプルデータの入手

PixarのWebサイトにサンプルデータがあります。こちらのKITCHEN SETを開いてみます。

$ sudo nvidia-docker run --rm --env=DISPLAY=$DISPLAY --env="QT_X11_NO_MITSHM=1" --env="LIBGL_ALWAYS_INDIRECT=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --volume="/home:/home:rw" -ti usd-docker/usd:latest-centos7 /opt/usd/usd/0.8.5/bin/usdview ~/Downloads/Kitchen_set.usd


ちなみに起動時の表示は最も軽いモードで行われています。View→Complexityでサブディビジョンの詳細さを変えることができます。

Complexity: Low


Complexity: High


今回までで、ものすごく駆け足ではあるもののUSDを使用する環境の構築まで行うことができました。えっえっ!? Pixar!? そこが使っている環境!? と聞くとものすごいことのように感じて尻込みしてしまうかもしれませんが、それほど高度なことをしなくても同様な環境を手元につくることができるのは本当にいい時代だなぁ~と思います。だからこそこの環境を生かせるところと生かせないところでどんどん格差が広がってしまうと言うことができます。

今後の課題

これで、Docker内で動いているGPUを使用するアプリケーションをLinuxデスクトップ環境で使用できるようになりました。しかし、Linuxを使用するときによくやる、マシンルームにある高性能な計算機から画面のみ転送してクライアントで操作するということが今のままではできません。色々調べたところコンテナ内のアプリケーションの画面を転送してクライアントで動作させた実績はあるようです。例えば、"ILM - Pipeline in the cloud"ではクラウド上の計算機からVirtualGLを使用しているようです。これは課題として面白いですし、実用性も高いので手元でも実現してみたい技術のひとつです。

今回でやっとベースになる環境が整いました。次回からはUSDを使用したシーン構築やレンダリングを行なっていきたいとおもいます。



第4回の公開は、2018年9月を予定しております。

プロフィール

  • 痴山紘史
    日本CGサービス(JCGS) 代表

    大学卒業後、株式会社IMAGICA入社。放送局向けリアルタイムCGシステムの構築・運用に携わる。その後、株式会社リンクス・デジワークスにて映画・ゲームなどの映像制作に携わる。2010年独立、現職。映像制作プロダクション向けのパイプラインの開発と提供を行なっている。新人パパ。娘かわいい。
    @chiyama

その他の連載