LoginSignup
0
0

More than 5 years have passed since last update.

OpenShadingLanguage 1.9 の testrender をビルドする

Posted at

OpenShadingLanguage には testrender という OSL のテスト用のレンダラがありますのでこれを使えるようにします.

環境

  • Ubuntu 16.04
  • OpenShadingLanguage 1.9.3
  • LLVM 7.0

OpenImageIO のビルド

boost などは apt で入るのが使えますが, 依存している OpenImageIO は apt で入るのでは古いのでソースからビルドしておきます.

デフォルトではいろいろなライブラリをリンクしようとするので, いろいろ off にしておくとよいです(e.g. OpenCV など). 最低限, apt で入る libtiff と libpng と OpenEXR でビルドできるはずです

ビルドできたらインストールしておきます.

OpenShadingLanguage のビルド

make help には OpenImageIO の設定方法が書いていないので迷うかもしれません.
OpenImageIO は OPENIMAGEIOHOME 環境変数で指定します(Make の引数だと cmake に渡してくれない)

LLVM をインストールしておきます. http://releases.llvm.org/download.html#7.0.0 のプレビルドパッケージでいけるはずです.

プレビルドや, LLVM の src からのビルドのデフォルトでは .a 形式なので, LLVM_STATIC=1 を指定します.
(そうしないと LLVM_LIBRARIES が見つからないというエラーがでる)

LLVM_DIRECTORY で LLVM のパスを指定して make します(内部で cmake が呼ばれてビルドが走る)

OSL_BUILD_TESTS=1(デフォルト) で testrender がビルドされるように設定しておきます.
 

export OPENIMAGEIOHOME=/path/to/oiio
make LLVM_DIRECTORY=/path/to/llvm LLVM_STATIC=1 OSL_BUILD_TESTS=1

注意

make ベースでは build ディレクトリを削除しないため, 設定を変えたら build を消すのをわすれずに. そうしないと cmake のキャッシュが残ってうまく cmake configure が走りません.

インストール

make install

デフォルトでは dist にインストールされます. インストールをせずに oslc を使おうとすると stdlib.h が見つからないなどのエラーがでます.

testrender を動かす.

testsuite ディレクトリにいろいろシーンがあるので適当なのを選びます.

まず, oslc で osl シェーダをコンパイル(.oso が生成される)しておきます.

その後,

$ testrender input.xml output.exr

でレンダリングが走ります. ref にあるリファレンス画像と同じものが生成されたら成功です.

note

OpenShadingLanguage 2.0 からは OPENIMAGEIOHOME の変数名が変わっていたりするので注意です.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0