CG, lucille, Programming

lucille@github を使ってみよう

仕事が一段落して、久しぶりに心休まる週末なので github を使ってみることにしました。
とは言っても、github を使うのが目的ではなく lucille の最新コードを手元に持ってきていつでも最新版を使えるようにしたいのです。

github?
ここ最近開発者の間で流行っている Git のリポジトリを公開するためのサイトです。Git は…CVS とか Subversion とかのソースコード管理システムの一つみたいな認識でいいんじゃないかと。何で流行ってるのかと言うと…何でだろ?

Git?
そもそも Git って何よ?という感じだったので Wikipedia を参照すると、なるほど、

  • Linuxカーネルを開発するためにリーナスが作った
  • 分散バージョン管理システム

ということですか。これは流行るわけだと妙に納得。

使ってみる
とりあえず github から lucille のコードを持ってきます。
これはもう簡単。Web ページからダウンロードできます。download ボタンを押すと zip か tar で持ってこれるようです。

ダウンロードしたら適当な場所に解凍してビルド。

ビルド
INSTALL を読むと幾つか依存するツールがあります。

  • python ( for scons )
  • scons > 1.0 ( http://www.scons.org/ )
  • flex
  • bison
  • gcc > 4.0 (If you use gcc)
  • cunit ( Optional. Used for unit testing. http://cunit.sourceforge.net/ )

足りないツールはサクサクと入れちゃう。昔はソースコード原理主義で一から作る派だったけど、今はそんな元気ないので Fink を使っちゃう。
環境が整ったらドキュメント通りに build/install。私の環境(Mac OSX 10.5)だと特につまづくところもなくおわりました。

レンダリング

>lsh tut1.rib

とかでレンダリングできる。…がっ! muda とかいうファイルができるだけ。何これ?私のやってることはムダだって言われてる?(言ってません)
rib をいじって出力先を muda.tif に変えてみる

Display “muda.tif” “tiff” “rgb”

muda.hdr ができる。出力は問答無用で HDR ファイル?なんて漢仕様(涙

3Deliht についている hdri2tif でも読めない。うむむ。。。

とりあえずドキュメントでも読むか
lucille のドキュメントは SPHINX というものを使っているみたいです。doxygen みたいなもの? Python の easy_install というものでサクッとインストール。

>sudo easy_install sphinx

その後、doc/userman に移って make。

chiyama@lain:~/Projects/OpenSource/syoyo/lucille-git/doc/userman[668]% make
make html
mkdir -p build/html build/doctrees
sphinx-build -b html -d build/doctrees . build/html
Running Sphinx v0.6.1
loading pickled environment… done
building [html]: targets for 5 source files that are out of date
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files… none found
preparing documents… done
Exception occurred: 20%] cgkit
File “/Library/Python/2.5/site-packages/Jinja2-2.1.1-py2.5-macosx-10.5-i386.egg/jinja2/environment.py”, line 357, in parse
raise e
TemplateSyntaxError: expected token ‘lparen’, got ‘block_end’
File “/Users/chiyama/Projects/OpenSource/syoyo/lucille-git/doc/userman/_templates/layout.html”, line 7
{%- macro relbar %}
The full traceback has been saved in /var/folders/Jo/Jonjry+EHaeb9BGfWDzB2k+++TI/-Tmp-/sphinx-err-VdNq5_.log, if you want to report the issue to the author.
Please also report this if it was a user error, so that a better error message can be provided next time.
Send reports to sphinx-dev@googlegroups.com. Thanks!
make[1]: *** [html] Error 1
make: *** [all] Error 2
chiyama@lain:~/Projects/OpenSource/syoyo/lucille-git/doc/userman[669]%

エラー!!ガッデム!!
ドキュメントが生成できない問題は syoyo さんが早速対応して下さって解決しました 😀
ありがとうございました。

とりあえず置いておいて git 環境を作る
すぐに解決しなさそうなので最初の目的に戻る。Web 経由ではなく、コマンドラインから手軽に最新のコードを持ってこれるようにする。

GitHubを使い始めてみたメモ

このあたりを参考に、git 環境を作る。これも Fink で一発。

Binary がなくて source から入れることになって小一時間かかってしまった。。。

気をとりなおして環境構築の続き。

git にユーザー名とメールアドレスを登録する。

> git config –global user.name “Hiroshi Chiyama”
> git config –global user.email “hchiyama@gmail.com”

clone でマスターと同じものを手元に持ってくる。

> git clone git://github.com/syoyo/lucille.git
Initialized empty Git repository in /Users/chiyama/Projects/OpenSource/lucille/.git/
remote: Counting objects: 3139, done.
remote: Compressing objects: 100% (1457/1457), done.
remote: Total 3139 (delta 1946), reused 2757 (delta 1626)
Receiving objects: 100% (3139/3139), 4.72 MiB | 384 KiB/s, done.
Resolving deltas: 100% (1946/1946), done.

できたので試しにビルドしてみたりレンダリングをしてみたりする。

日々の更新
ここまでこれば常に最新版を手元に持ってくることができるようになる。

> git pull

まとめ
これでひとまず環境は整いました。ちょっと使った感じ、git は個人で使うにはちょっとオーバースペックすぎるかなぁという気もします。分散開発とかの概念が入ってる分、CVS や Subversion よりも複雑な印象を受けます。慣れれば便利なんでしょうけどね。

今後は lucille の開発動向を追いつつ、いろいろと試してみようかなと思います。今回解決できなかった問題もいくつかあるし。

lucille@github を使ってみよう”への13件のコメント

  1. ども、lucille お試しありがとうございます.

    ドキュメントは、Sphinx のバージョンがこっちでは古いのを使っているからからうまく generate できていないようです. こちらで見直してみます.

    いまのところ file output は hdr(RGBE)形式のみです. ただ Display 設定がないときは、muda ではなく、untitled.hdr になっているはずです.

    hdr は rockenfield というビューアが $(lucille)/tools/rockenfield にあるので、これで見る事ができます(要 fltk). もしくは hdrshop, cinepaint などでも見れます.

    あと、Display を framebuffer にすれば、X11 windows に出力されます. 保存はできないのですが.

  2. 最近まで github に移ってるのに気づかずに CVS 版を参照していたんです。。。お恥ずかしい。

    Sphinx と hdr の情報、ありがとうございました。世の中の大きな規模のプロダクションって、出力する素材は全部 HDR 画像なんでしょうか?
    今回のプロジェクトで OpenEXR で素材を出力したらトンデモないファイルサイズになってしまって頭を抱えた経験があったので、他の会社の状態とかちょっと興味あります。

    rockenfield も試したところ、無事に見ることができました。ありがとうございます 🙂

  3. > 世の中の大きな規模のプロダクションって、出力する素材は全部 HDR 画像なんでしょうか?

    うーん、どうでしょうね. 私の知る限りでは jpeg もありました.
    lossy 圧縮ならそこそこのファイルサイズになる気がしますが、どうでしょう?

    すいません、tiff とかでも出せるのですが、やっていないだけです 🙂

    ところで、tiff もどうなのかなと思っています. PNG とか出てきた今、LDR 画像フォーマットとしてはあまり tiff を使う機会もなくなってきているような気もするのですが.
    (というか tiff はいろいろパラメータがありすぎて完全対応するのは面倒いのです)

  4. jpeg ですか!!それはある意味すごい。。。

    lucille も昔は出力できてましたよね>tiff
    その時のイメージがあったので、あれれ?と思ってしまいました。

    たしかに、tiff のバリエーションの多さは対応するのが大変ですね。
    私も tiff を扱うときは libtiff に丸投げですw
    ただ、3Delight の標準フォーマットが tiled tiff だったり、何かと
    出番が多いのも確かなんですよね。。。

    普通の素材は HDR でもいいかなーとは思いますが、
    マスクとか HDR でなくても十分なものもいろいろあるので、
    それ用の出力フォーマットもあると嬉しいナーなんて思ったりもします。
    いや、コードがあるんだから自分で対応しなさいという話もあるんですが(汗

  5. jpeg2000 だったかもしれません. 少なくとも lossy 圧縮はしているとのこと.

    libtiff とのリンクがめんどいのでやめたというのも理由です.
    (以外と tiff はライブラリの依存問題が生じるので)

    そうなんですよね、なんだかんだで特殊なことや多ソフトとの互換性を取ろうとすると tiff も切れないんですよね…

    ホントは漢になって画像フォーマットはこれだけ!とバッサリ行きたいところなのですが 🙂

  6. 会社の中で “このフォーマットしか使いません!!” って決めてしまって、それ以外は使わないようにしてしまえれば色んな問題が解決するんですよね。レンダラ側でそういう制限を設けてしまうのは一つの手なのかもしれません。

    >host名
    ええ、serial experiments なアレです 🙂
    自宅ネットに psyche.gr.jp なんて名前をつけてたのも今となってはいい思い出。。。

  7. > レンダラ側でそういう制限を設けてしまうのは一つの手なのかもしれません。

    そうなのです.レンダラに限らず、 “なんでもできます” より、”これだけ!” のほうが以外とうまくいくと思っています.

    > ええ、serial experiments なアレです

    そういえばアレからもう 10 年くらいですね. だんだんとリアルワールドでもアレの世界が実現化されてきている感じがします.

  8. ファイルフォーマットは特にそうですね>制限必要
    何でもいいから決めようよっ!!って思います。

    10年前絵空事だったのに、どんどんできることが増えてますね。
    あとは psyche processor の登場を待つのみです。

chiyama にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です