打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
HOUDINI?使用?3delight(3)导入自己用rsl编辑的shader:继续完善使...

上次写个plastic_test.sl

surface plastic_test( float Ka = 0, Kd = .6, Ks = .8, roughness = 0.02, Krfl =1.2, IORfresnel =1.5;

color Cdiff = 1,Cspec = 1;

string diffmap = "",envmap = "")

{

vector nI = normalize( I ), nN = normalize( N ), nF = faceforward( nN, nI ), V = - normalize( I );

//获取单位长度的 视线 nI , 表面法线 nN ,正面相机的表面的法线 nF , 视线的反方向 V;

color Cambient = Ka * ambient(); // 得到环境色

color Cdiffuse = Kd * Cdiff * diffuse( nF );//得到漫反射

color Cspecular = Ks * Cspec * specular( nF, V, roughness);//得到高光

float eta = ( nI.nN < 0) ? 1/IORfresnel : IORfresnel; //获取光线传输时候的偏角率

float kr,kt;vector Rrfl,Trfr; fresnel( nI, nF, eta, kr, kt, Rrfl, Trfr); //获取菲尼尔反射折射强度和反向

color Creflection = kr * Krfl * trace(P,Rrfl,"samplecone",0,"samples",1);//获取有菲尼尔特性(边缘强中间弱)追踪反射的基本颜色

Ci = Cambient + Cdiffuse + Cspecular + Creflection;

}

看看。。还没有完善。先完善一点。

这么几个,反射的模糊控制没有给出控制。漫反射和环境的纹理没有应用;

surface plastic_test( float Ka = 0, Kd = .6, Ks = .8, roughness = 0.02, Krfl = .8, IORfresnel =1.5,Blur = 0,Blur_sample = 1,Kenv = 1;

                                 color Cdiff = 1,Cspec = 1;

                                  string diffmap = "",envmap = "")

{
float Br = radians( Blur );

vector nI = normalize( I ),  nN = normalize( N ), nF = faceforward( nN, nI ),      V = - nI;                              

//获取单位长度的 视线 nI , 表面法线 nN , 正面相机的表面法线 nF  视线的反方向 V;

color Cambient = Ka * ambient(); // 得到环境色

color Cdiffuse = Kd * Cdiff * diffuse( nF );//得到漫反射

if ( diffmap !="")
 Cdiffuse *= texture( diffmap, s, t );//如果有纹理给漫反射上纹理

color Cspecular = Ks * Cspec * specular( nF, V, roughness);//得到高光

float eta = ( nI.nN < 0) ? 1/IORfresnel : IORfresnel; //获取光线传输时候的偏角率

float kr,kt;vector Rrfl,Trfr; fresnel( nI, nF, eta, kr, kt, Rrfl, Trfr); //获取菲尼尔反射折射强度和反向

color trsmap;color Creflection = kr * Krfl * trace(P,Rrfl,"samplecone",Br,"samples",Blur_sample,"transmission",trsmap);// 获取有菲尼尔特性(边缘强中间弱)追踪反射的基本颜色 trsmap存入追踪的传输光线的强度信息

if ( envmap !="" )
 Creflection += Kenv * kr * Krfl * trsmap * environment( envmap, vtransform( "world", Rrfl) );//如果有环境图给反射加上;这里使用强度图过滤环境

Ci = Cambient + Cdiffuse + Cspecular + Creflection;//合成表面的结果颜色;

}

下面 使用3delight的tdlmake转换两个纹理;测试一下。

 嘿。反射效果太强,镜面化了。 参数狂高过头了;

注意 要在rib1输出节点中加入纹理路径;&;e:/rib_asset/textures

每次修改.sl文件,保存后要注意编译成.sdl,然后shell下使用sdl2otl.py注册到.otl,houdini中只要file菜单下refresh asset libraries刷新。修改的shader接口效果就自动更新了。

tdlmake -envlatl file.hdr file.tdl 做环境 经纬球纹理要求 256*128 512*256 1024*512 .....2:1的关系  

tdlmake file.psd file.tdl 做普通纹理 64*64 128*128 256*256 .....64*2^n的阶梯关系;这样很优化内存.同步cpu访问频率。

对于 环境反射模糊 和 纹理的控制 研究 3delight user  manual 的帮助文件中的 textur() 和environment() 也可以添加这些特新

 

自己会rsl并且了解一点几何数学,可以给自己添加想要的材料的特性了。

至于速度上的优化。。慢慢研究几何关系。

然后使用cpu的某些提速的特别指令集如SIMD单指令多数据流方式编写,或者使用hash表格映射数据。。。等等缓存一些中介性的简化。

 

简化。。。

来次靠近世界本质的思维;(夸大点。)

2+2+2+2  要操作4次......  现在有个hash表格。用于查询结果..什么hash表格呢。。

哈哈。。用了英语说就不知道了吧。hash 就是一些规律的散列表格用于查询结果。

比如我们小学学的乘法口诀表格就是个位数乘法规律的散列表格。一一得一,一二得二....七七四十九...九九八十一,

这里 一个规律是另外规律的简化 乘法是雷同加的简 除法是乘法的逆

2+2+2+2   唔 不就是4个2加么。。嘿 那么就是 2*4 喽 ( 规律的简化 )

乘法有个九九表还好记得。 查表对号 找到 二四得八 (利用乘法基本规律统计散列表 hash加法的结果 )

这里经过规律简化。查找规律的表格 费时间的操作节约了时间

如果按步就班。。。2+2=4 再+2 为6 再+2 为8  得结果了。。如果 9+9+9+9+9+9+9+9+9呢。。累了吧。。

日常简单的数据处理人们都会无意识的按照这些方式把累人的做法简化得出一些简化的规律,然后无形之中把这些简化的看似乎没有联系的组织在一起记。这就是散列优化。碰到麻烦累人的情况。只要脑中有这些规律的巧妙简化结果的,回忆这些简化组合,那么累人的工作就在回忆下很快搞定了。

生灵智慧的守则之一  应激反应后,总结碰到的挑战后的结果,简化如何处理这些令自身头焦额烂的,再次发生如是挑战,直接用以前简化的方式方法对付。然后再总结。           脑中记忆的这些简化处理方式就是 散列优化法(英语就是hashing)     

(数学就和生灵的有形肢体器官一样,智慧生灵本能会用到,这是生灵趋利避害生存的重要凭借) 

难道你不是智慧的生灵么??

散列表 应用有很多啊。 比如 高点的对数表 ,低的三角函数表 等等。

 还有,打算盘,那个什么三下五去二的珠算表就是把运算操作散列化了

就是古代中国神秘的奇门遁甲,遁甲天书等中 也有散列表 比如阳遁表,阴遁表,是一些时空规律数据的散列优化表,如何应用现在不得而知了。。。

感叹一下。 古中国很多奇妙的知识都失去传承了。。。

现在人工机器人的平衡运动系统也大量的运用了散列法,

规律是通过观察统计发现得到的。散列法是通过对统计后得出规律在运作的时候再观察研究统计等处进一步的简约得对应的东东。可能是个需要记忆数据表格,可能是区间,等等。表现在生物应激反应上可能是某些个简单到底的动作就能保住这生物的小命

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【houdini】CG猎人第006期houdini完全基础入门学习笔记-自定义材质
玉堂禁经简体诵读(修订版)
【转载】Houdini配置3delight 10
cocos2dx 2D聚光灯效果
Houdini 16.5
玛雅.pdf
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服