星期二, 九月 11, 2007

Liquidmaya/Pixie on Hackintosh

Pixie 2.2.2版本已经支持OSX(这个是邮件列表上说的),但是如果用xcode来安装的话,就会遭遇可耻的失败。在pixie的wiki上说可以用传统的make来安装,不过要先装fink和libtiff。我感觉还是make亲切,xcode如果失败的话,找问题比较麻烦,尤其是那种不是自己写的项目。不多说了,看wiki吧,

然后是Liquidmaya,sourcefouge上提供的是06年的,有点老,而且没有intel mac版,只有ppc版,最高只有maya8.0的。说什么都要自己编译了。编译liquidmaya也离不开fink,先要装svn-client。sourceforge的svn提供的是https形式的,可是fink里没有svn-client-ssl的二进制包,自己编译当然也可以,不过又要装一大堆东西。幸运的是sourceforge的svn也可以用http形式访问,可以check out的了。

pixie的编译没有什么好说的,就是用内存比较多,大概要2G,编译的过程比编译liquidmaya省心多了。
编译liquidmaya都是用xcode来做的,问题比较多,一个一个来说吧。
1 没有文件libstdc++.a,应该是libstdc++-static.a。
2 project里的architectures应该选intel,也就是i386。
3 Targets里,要修改libquid-pixie maya8.0,编辑它的属性,把8.0改成8.5。search paths里把8.0的路径改成8.5的路径,它用的是$(MAYA_LOCATION),不知道这个变量应该在哪里改,.profile不起作用,直接用常量路径替换即可。
4 在linking里,other linker flags中,把-lIMF改成-lIlmImf,maya8.5-osx里没有libimf。

然后可以编译了,编译完成后,可以参考那个ppc的二进制包,看看目录结构是怎样的,创建一个相同的目录结构把文件复制过去即可。环境变量什么的就不说了,看wiki吧。

在ppc的二进制包中,有个liqmaya.so,用xcode编译的时候编译不出来。邮件列表上说,g++ -bundle -flat_namespace -undefined suppress -I/Applications/Graphics/Pixie/include liqMayaDisplayDriverPixie.cpp -L/Applications/Graphics/Pixie/lib -lri -o liqmaya.so ,这样还不行,少liqMayaDisplayDriverPixie.h和os.h。第一.h在liquidmaya的include里,os.h在pixie源码的src/common里,所以这两个位置也要-I。编译出来后,这个liqmaya.so却不知道改如何用,反正没有它插件也能加载和输出rib。

现在的liquid已经可以把maya的场景输出为rib了,但是却无法渲染,只能到terminal里用rndr来渲染,而且framebuffer不工作,什么也不显示,只能输出tiff文件。不管怎么说,已经能工作了。


顺便再说一说编辑器,cutter是非常不错的rsl和rib编辑器,可惜只能安全存取750k以内的文件,我导出的rib有11M,cutter立刻死掉了。jedit表现还可以,不过不能拽滚动条,往下一拽就死。能够信赖的只有vim和emacs。macvim.org提供了独立程序版的vim,再dock上有图标,用起来方便点。

我原本以为pixie的occlusion会比较快,最后,我真的很失望。

没有评论: