星期二, 九月 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会比较快,最后,我真的很失望。

星期五, 九月 07, 2007

UNO1.5.2 Mod,自己修改的uno主题


uno比osx默认的aqua要好看一点,不过也有一些让人不太满意的地方。自己又修改了一下,aqua的metal样式也不错,在修改版里就保留了。

下载

星期三, 九月 05, 2007

ThemePark创建OSX的主题

http://www.geekspiff.com/software/themepark/tutorial/

pxm#图片部分都有名称,clr#部分则没有。

All About clr# and clut Resources

These resources are used to save particular colors. As far as I can tell, the only resource that actually does anything is clr# 384. The following shows what this resource is used for. Please note that almost everything in this list is only effective for Carbon applications - Cocoa almost always uses hard-coded colors. If you know of any additions or mistakes, please don't hesitate to let me know!

Resource Type: clr# Resource ID: 384

Index 00: Dialog Active Text Color
Index 01: Dialog Inactive Text Color
Index 02: Alert Active Text Color
Index 03: Alert Inactive Text Color
Index 04: Modeless Dialog Active Text Color
Index 05: Modeless Dialog Inactive Text Color
Index 06: Window Header Active Text Color
Index 07: Window Header Inactive Text Color
Index 08: Placard Active Text Color
Index 09: Placard Inactive Text Color
Index 10: Placard Pressed Text Color
Index 11: Push Button Active Text Color
Index 12: Push Button Inactive Text Color
Index 13: Push Button Pressed Text Color
Index 14: Bevel Button Active Text Color
Index 15: Bevel Button Inactive Text Color
Index 16: Bevel Button Pressed Text Color
Index 17: Popup Button Active Text Color
Index 18: Popup Button Inactive Text Color
Index 19: Popup Button Pressed Text Color
Index 20: Icon Label Text Color
Index 21: List View Text Color (and Open/Save dialog list color)
Index 22: Document Window Title Active Text Color
Index 23: Document Window Title Inactive Text Color
Index 24: Movable Modal Window Title Active Text Color
Index 25: Movable Modal Window Title Inactive Text Color
Index 26: Utility Window Title Active Text Color
Index 27: Utility Window Title Inactive Text Color
Index 38: Popup Window Title Active Text Color
Index 29: Popup Window Title Inactive Text Color
Index 30: Active menu title text color
Index 31: Selected menu title text color
Index 32: Disabled menu title text color (OS uses a lighter variation)
Index 33: Active menu item text color
Index 34: Selected menu item text color
Index 35: Inactive menu item text color (OS uses a lighter variation)
Index 36: Popup Label Active Text Color
Index 37: Popup Label Inactive Text Color
Index 38: Tab Front Active Text Color
Index 39: Tab Non Front Active Text Color
Index 40: Tab Non Front Pressed Text Color
Index 41: Tab Front Inactive Text Color
Index 42: Tab Non Front Inactive Text Color
Index 43: Icon Label Selected Text Color
Index 44: Bevel Button Sticky Active Text Color
Index 45: Bevel Button Sticky Inactive Text Color
Index 46: unknown
Index 47: Finder file-item subtext (activated with View -> Show View Options -> Show Item Info)

星期二, 九月 04, 2007

vmware fusion中使用物理硬盘和wacom tablet

以前写过一篇在vmware中使用wacom tablet的文章,在vmware fusion中基本上也是通用的。而且,在vmware中简单一点,只要修改一下vmx文件即可。在修改完成之后,在windows里鼠标指针不会随着数字笔动,这仅仅是刷新的问题,在windows的鼠标设置里,打开“鼠标轨迹”即可。当然,同一时刻只能有一个系统可以使用HID设备(包括tablet)。

再来说一下在vmware fusion中使用物理硬盘,这个工作要稍微麻烦点。
首先要用vmware-rawdiskCreator创建一个物理硬盘的vmdk,这是一个命令行工具,没有图形界面,在/Library/Application Support/VMware Fusion/里面,不带参数执行一下可以得到帮助。
./vmware-rawdiskCreator print /dev/disk0,列出disk0的分区情况。
Nr Start Size Type Id Sytem
-- ---------- ---------- ---- -- ------------------------
1 63 52100496 BIOS AF HFS+
2 52100622 52100496 BIOS C Win95 FAT32 (LBA)
3 104201181 52100307 BIOS 83 Linux
现在要给第2个分区(FAT32)创建一个vmdk。
./vmware-rawdiskCreator create /dev/disk0 2 ~/Disk0s2dev "ide"
2就是Nr那一栏中的数字, ~/Disk0s2dev是创建出来的vmdk的名字和路径,可以随便设置,一会儿要复制到vmx的目录里,"ide"是在虚拟机中硬盘的类型。命令执行后,在~/里产生两个文件:Disk0s2dev.vmdk和Disk0s2dev-pt.vmdk,要自己把它们复制到vmx所在的目录。

然后打开虚拟机,创建一个虚拟硬盘,大小0.1G即可。关掉虚拟机,用一个文本编辑器(比如jedit)打开vmx文件,找到刚才创建的那个虚拟硬盘,改成刚才用vmware-rawdiskCreator创建Disk0s2dev.vmdk文件,Disk0s2dev-pt.vmdk可以不用管。保存vmx文件。

运行虚拟机,要求输入管理员密码,windows会发现新的硬盘。同时,osx中,disk0s2会自动umount。只有关闭虚拟机后才可以再次mount。

参考:
http://www.vmware.com/community/message.jspa?messageID=674382