2009年02月26日

vectexのlinux 64bit版

昨年の3月頃にBlenderのテクスチャとしてSVGファイルを使えるプラグイン「vectex」がリリースされています。
pic090226_01.jpg

くわしいことはBlender.jpのこちらの記事をご参照ください。「Vectex: SVG によるベクトルテクスチャプラグイン

●Linux 64bit版binaryファイルの作成方法
私は記事を読んで、すぐにダウンロードしてサンプルファイルを開き、どこまで近づいてもテクスチャがきれいに表示される機能にとても驚きました。そのときは、Windows上で確認しただけだったのですが、Linuxでも試してみようと思いプロジェクトのサイトを探してみました。

Downloadファイルとして用意されているのはWindows、Linuxの32bit用のbinaryとソースファイルの3種類だけで、Linuxの64bit版はありません。BlenderのテクスチャプラグインファイルはWindowsのダイナミックリンクライブラリ(.dll)、Linuxでの共有ライブラリ(.so)と同じタイプのファイルですので、64bitと32bitでそれぞれ別のbinaryファイルが必要です。

ソースファイルがあるならコンパイルして自分で64bit用のbinaryファイルを作ることもできるかなと思ったのですが、実際に試してみるとエラーが出て失敗しました。
READMEを読むと、ファイルを展開したらそのフォルダに入ってmakeするだけ...らしいのですが、makeコマンドを実行すると

/usr/bin/ld: agg-2.5/src/libagg.a(agg_bezier_arc.o): relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when making a shared object; recompile with -fPIC
agg-2.5/src/libagg.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make: *** [vectex.so] エラー 1


というようなエラーがでて、途中で止まってしまいます。

私の技術レベルではこれを自力で解決するのはまだ無理そうな感じだったので、とりあえず、誰かが64bit版を公開してくれていないか探してみると、見事にみつかりました。
Blenderartist.orgのフォーラムの中で、N30Nさんという方が自分の好きなディストリビューション用にパッケージを作成しているという情報があり、そのサイトで64bit用のパッチファイルを公開してくれています。

ここで「64bit.patch」というファイルをダウンロードして「vectex-0.9」のトップレベルディレクトリに置きます。ターミナルウィンドウで、その場所に移動して

$ patch -p0 < 64bit.patch

というように実行すると、Ubuntuの64bit環境でコンパイルできるようになりました。
ちなみに、私はpatchコマンドというのを使ったのはこれが初めてだったのですが、Blenderのビルド方法を調べていたときにソースにパッチを当てる方法が書かれているのを見つけていたのでそちらを参考にしました。

●このプラグインの使い方
ちなみに、このプラグインの使い方がわからないというような質問を、Blenderartist.orgのフォーラムでみかけました。そちらはすでに解決されているようでしたが、せっかくですので、ここに簡単な使い方を書いておきます。
ダウンロードしたファイルの中にサンプルファイルが2つ入っています。Blenderでそれを開くと、「Texture」パネルで「Texture Type」が「Plugin」に選択されていて、「Plugin」パネルが表示されています。
pic090226_02.jpg

「Load Plugin」というボタンを押すとファイル選択画面が表示されますので、同じフォルダの中にある「vectex.so」というファイルを選択します。Windowsではこのときエラーが表示されることがあるのですが、もう一度同じボタンを押してファイルを選択しなおすと2回目にはうまく選択できたりするようです。
pic090226_03.jpg

blenderのバージョンによっては強制終了してしまうこともありますが、うまくファイルを読み込めると「Plugin」パネルに操作用のボタンなどが表示されます。ここがちょっと分かりにくいのですが、そのパネルの「File Name」のところに使用する「SVG」ファイルを手入力で指定する必要があります。 付属する「tiger.svg」のファイル名だけでいいこともありますが、フォルダの場所も含めたフルパスで指定しないと画像を認識しない場合もあります。きちんと画像が認識されるとPreviewエリアにSVG画像が表示されます。
pic090226_05.jpg

このプラグインではSVGフォーマットのうちの基本的な機能しかサポートしていませんので、対応していない機能を使ったファイルは開けません。
そして、レンダリングを行うときは、マルチスレッドを有効にしているとうまくレンダリングができないようです。レンダリングのスレッド数を「1」にしてレンダリングしてください。

●コンパイル済みファイル
もし自分でコンパイルするのが面倒という人のために、パッチを適用してUbuntu8.10 amd64環境でコンパイルしたものをここに置いておきます。
vectex_linux_64.tar.gz

このファイルはGPLでライセンスされているとのことですので、ソース込みで配布するのは問題ないと思います...が、問題あるようでしたらすぐに撤去しますのでご連絡ください。
posted by mato at 02:36| Comment(0) | Blender | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。