在 随笔“maya 粒子制作海洋岸边convected foam”中我选择使用了maya的默认渲染器的shader来采样粒子,满足了一定的需求。
后来在在学习renderman的过程中对它的渲染用了其他的方法取代,就是文章最后所说的用kdtree来实现快速查找最近粒子。
我使用了ANN库,用该库写了一个renderman shader dso函数叫做texture3dSphere,该函数用来采样一个ptc文件里的数据,这
个ptc文件是包含了粒子的位置,颜色,透明度等信息。该dso源码在下载的压缩包里,压缩包同时包含了一个编译好的dll。
写出ptc文件和读取ptc文件分别由两个简单的shader完成,bakeParticle.sl和readSpaceParticle.sl,这两个文件在下载的压缩包里。
现在看到过一些houdini的教程,感觉做这种效果应该不需要写这么多东西吧,nb的软件,可以再学习下。
以上算是一个学习阶段的成果。renderman shader和dso以及maya 脚本源码在这里下载。