Go言語でRenderManをLinuxで設定するのは簡単にできましたが、Windowsにインストールするのは大変でした。Program Filesのスペースに悩まされました。結果としてはPixar RenderManProServerはC:\Program filesにインストールしないで、C:\Pixarにインストールしなおしました。
付属go_test.goを実行して得た画像。prman16.5でオクルージョンを出せました。prman17.0、prman18.0ではうまく出ません。
追記2013/10/26:
(prman17以降の仕様変更でocclusionは
Attribute "visibility" "int transmission" [1]
とすれば、きちんと表示されます。)
以下、まとめてみました。
■必要なもの
●Windows 32bitの場合
Go言語32bit版
gccコンパイラ MinGWを使いました。
●Windows64bit版
Go言語64bit版
gccコンパイラ TDM-GCC Compiler Suite for Windowsを使いました。
TDM64 bundleをインストールしました
http://tdm-gcc.tdragon.net/
●RenderMan bindings for the Go Language.
gormanはこちらです。
https://github.com/prideout/gorman
1. Download Zipからファイルgorman-master.zipを取得します
C:\gormanに解凍します。
2. Go言語をC:\goにインストールします
Windows XpへのGo言語のインストールでは、GOPATHは、環境変数として記入する必要があります。バッチでset GOPATH= と設定しても、go envで確認すると反映されていません。
3. gccコンパイラをインストールします
MinGWだと「C++ Compiler」「MSYS Basic System」「MinGW Developer Toolkit」のコンポーネントを選択してインストールします。
環境変数のPathに編集でパスの最後に以下を追記します。
;C:\MinGW
64bitの場合、TDM-GCC Compiler Suite for WindowsをC:\TDM-GCC-64にインストールします。
4. Pixar RenderManProServerをC:\Pixarにインストールします
5. C:\gormanフォルダにコマンドプロンプトを作ります
コマンドプロンプトショートカットアイコンを右クリックしプロパティを開きます。
リンク先の部分を以下のように書き換えます。
%windir%\system32\cmd.exe /k "chcp 65001"
6. Go言語の確認
エディタで以下をhello.goで保存します。保存先C:\gorman
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
コマンドプロンプトから
>go build hello.go
>hello.exe
hello, world
>
と出ればGoは動いています。
7 gormanの設定
64bitではTDM-GCC Compiler Suite for Windowsを読み込むために、以下のようにバッチファイルを作成します。
ファイル名gobat.bat
保存先C:\gorman
set GOROOT=C:\go
set GOPATH=C:\gorman
set PATH=%GOROOT%\bin;C:\TDM-GCC-64\bin;%PATH%
32bitでは
ファイル名gobat.bat
保存先C:\gorman
set GOROOT=C:\go
set GOPATH=C:\gorman
set PATH=%GOROOT%\bin;%PATH%
バッチファイルができたらコマンドプロンプトで
>gobat.bat
続いて環境を確認します。
>go env
set GOARCH=amd64
set GOBIN=
set GOCHAR=6
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\gorman
set GORACE=
set GOROOT=C:\go
set GOTOOLDIR=C:\go\pkg\tool\windows_amd64
set TERM=dumb
set CC=gcc
set GOGCCFLAGS=-g -O2 -m64 -mthreads
set CGO_ENABLED=1
GOPATH=C:\gormanが表記されていないと、この後のパッケージrmanがインストールできません。Windows Xpでは、GOPATHを環境変数として記入する必要があります。
8. rmanパッケージのインストール
C:\gormanのコマンドプロンプトから
>go install ./src/rman
たぶんエラーが出ます。
Pixar RenderManProServerのパスが正確でないためです。
C:\gorman\src\rmanフォルダのrman.goを編集します。
エディタで開き、最初の3行目から6行目部分のパスを以下のような相対パスで記述してください。適宜prmanのバージョンは変えてください。
package rman
// #cgo CFLAGS: -I../../../Pixar/RenderManProServer-18.0/include
// #cgo LDFLAGS: -L../../../Pixar/RenderManProServer-18.0/lib -lprman -Wl,-rpath ../../../Pixar/RenderManProServer-18.0/lib
// #include
// #include "ri.h"
再度C:\gormanのコマンドプロンプトから
>go install ./src/rman
しばらくして・・・何もなかったらOK!!
pkgフォルダができていたら完成です。
9. テストをしてみる
テストの前にPixar RenderManProServerのlibフォルダから
libprman.dllをC:\gorman\src\rmanフォルダへコピーします。
C:\gormanのコマンドプロンプトを閉じていたら
>gobat.bat
続いてテストをします。
>go test ./src/rman
しばらくして、本記事の一番上にある画像が出てきたら成功です。
これはC:\gorman\src\rmanフォルダのrman_test.goを実行しています。
フォルダ内にdebug.ribが書き出されるので便利です。
10. サンプル球をビルドしてみる
続いてlibprman.dllをC:\gormanフォルダへコピーします。
>go build sphere.go
>sphere.exe
レンダリング画像。
その他、開発者Philip RideoutさんのL-Systemによる画像素晴らしいです。
Go And Renderman
https://github.com/prideout/gorman
Thank You.ありがとうございます。
- -
- -