
Renderman
文章平均质量分 60
cuckon
这个作者很懒,什么都没留下…
展开
-
控制3Delight Deep Shadowmap阴影生成
有时在渲染时想控制其阴影的生成,比如在做树叶时减小对Deep SM的透明度,从而让光线不在接触第一篇树叶时就消失,而是穿透一丛之后慢慢衰减殆尽,经测试有两个方法。1. 经典方法所谓经典方法就是使用一套物体,这一套物体中包含两个物体,物体A用于渲染,不投影,物体B正好相反,所以渲染和投影可以独立控制。这个使用maya的shape节点中的renderstates的相关选项就可以。像树叶由于是同一个物体而且面数巨大,可以导出rib然后用两个readRibArchieve节点来以代理的方式渲染,这样能节省很多空间。原创 2011-05-28 10:32:00 · 2361 阅读 · 2 评论 -
第一个rsl材质
哈哈哈,太爽了,纪念一下surface line(float step = 5; color c1 =color (1,1,1); color c2 =color (0,0,0); float diffamb = 0.6){ point Pr = transform("raster",P); normal Nf = faceforward(normalize(N),I); float illum = comp(diffuse(Nf),0)*diffamb+1-diffamb;原创 2011-04-19 17:45:00 · 1486 阅读 · 0 评论 -
LOD in Renderman
看Advanced Renderman(感谢祖国母亲感谢大企鹅),刚学到Level of Detail,有段描述很费解:现在用的是3Delight,不知道这个Transition是怎么个smooth的,实验rib:Display "n" "framebuffer" "rgba"Format 640 480 1.0Projection "perspective" "fov" [35]Translate 0 0 5 PixelSamples 3 3WorldBegin Translat原创 2011-04-14 18:13:00 · 1426 阅读 · 2 评论 -
Checker3D RSL版
<br /><br /> <br />不得不说RSL真是很爽,毫无累赘。这个checker以前用Maya api写的时候总代码要200+吧,90%的代码是添加属性、初始化插件什么的。当然这也不怪Maya,因为Maya的DG Node的规范是为符合整个Maya流程设计的,可以用来写运算节点、形状节点甚至解算器,Shading只是其中一个小分支,所以导致非常的繁冗。而RSL的目的只是为了Shading,一切重复的都去掉,这就导致只去写那最核心的就行。<br /> <br />surface checker3d(原创 2011-04-20 14:14:00 · 958 阅读 · 2 评论 -
Steep Parallax Mapping
<br /><br /> <br />今儿个终于实现.<br /> <br />现在做出的是一个非常简单的雏形,至于Fake AO和Shadow都还没有做<br /> <br />diannao huai le buneng dahanzile. ruguo xuyao xuandaima gaosu wo. =.=原创 2011-04-23 19:00:00 · 1358 阅读 · 1 评论 -
Steep Parallax Mapping (2)
昨晚将此shader完善加强了下,在查找时在原来的线性查找之后再进行一次二分查找,在消除阶梯痕迹上非常有效。图1:当前的材质效果图2:在平面上的渲染效果,没有任何displacement贴图,遮挡和透视效果是靠对uv进行偏移模拟出来的。linearSearch x 28 + binarySearch x 4 ,高光柔和,而如果是单纯32次linearSearch能看到明显的阶梯源文件不贴了,反正贴了也没个说话的 =。= 有兴趣的可以自行google Steep Parallax Mapping.如果有想要源原创 2011-04-26 22:45:00 · 3066 阅读 · 10 评论 -
Voronoi Shader (Source code included)
<br />算法来自于Advanced Renderman,又加了一下边边角角。不是很完整,在源文件里能看到有很多参数没实现。<br /> <br /><br /> <br /><br /> <br />//voronoi_h.slvoid voronoi_f1( point P; float jitter; output float f1; output point pos1; ){ point cell = point(floor(P[0]),floor(P[1原创 2011-05-05 17:52:00 · 2136 阅读 · 5 评论