Bubbles Shader in Houdini泡泡泡泡泡泡泡泡泡泡
来源:互联网 发布:js点击按钮执行动画 编辑:程序博客网 时间:2024/04/25 00:17
在尝试做一个泡泡的shader,现在已经初步做好alpha,下一步做shading,泡泡的形态全部以一种procedure的方式实现,给一个粒子或者点云,就可以渲染出一堆泡泡,泡泡的半径用pscale指定。这样粒子用flip什么的动起来的时候,就能看到一堆泡泡在流动了。
目前的实现是纯节点连出来的,不得不说节点虽然连的快但是实在蛋疼…… 稍微复杂点的不但要注意怎么连,还特娘的要注意在2D空间怎么摆放,而代码堆放的复杂度基本是1D的,一块一块顺着写就行了。
原理还算简单,把泡泡的膜分为两部分,一种是泡泡和泡泡之间的隔膜,是平面,一种是泡泡和外界之间的薄膜,是球形的。
平面的中间隔膜,可以根据ray的当前sample P和下一step之后的P判断两个位置最近的点(点云或者粒子)是不是同一个,如果是同一个就处在同一个泡泡的空间中,就没有隔膜。如果是两个不同的点,就说明这step之间穿过了这两个点之间的隔膜,通过求两点之间的中间平分的平面得到隔膜的shading。法线也好求,Normalize(近点-远点)。
和外界之间的薄膜,可以对ray当前和sample P和下一step之后的P和最近的点<这个点的pscale做个xor,结果为true则穿过了薄膜,位置就近似在pscale*normalize(p-p0)+p0,法线normalize(p-p0)。
目前用fresnel做的alpha。shading可以用各种specular model来做了。
等看看能不能用这方法做个啤酒泡沫。
0 0
- Bubbles Shader in Houdini泡泡泡泡泡泡泡泡泡泡
- 泡泡屏保
- 泡泡背景
- BZOJ4642 泡泡
- PopupWindow(泡泡)
- 躲在泡泡中的泡泡
- android-魔法泡泡-泡泡动画分析
- 泡泡QQ资料
- 冒个泡泡
- 写给老婆:泡泡屏保
- Photoshop教程-泡泡字
- 淘宝:泡泡是否过大
- 不知有多少泡泡?
- 泡泡娃娃小游戏
- 来这里泡泡
- 恶梦是坏泡泡
- android mapview 泡泡效果
- 冒个泡泡
- LeetcodeOJ--整理
- c语言实现判断一个数是否是素数
- Lex/Yacc的学习——《编译原理及实践》附录B tiny编译器源码在linux下编译实现
- poj 1018:Communication System
- Linux进程状态(ps stat)之R、S、D、T、Z、X
- Bubbles Shader in Houdini泡泡泡泡泡泡泡泡泡泡
- oracle学习路,oarcle 集合的属性和方法
- AtomicInteger源码学习
- 读懂diff
- UVa 10161 - Ant on a Chessboard
- 程序员的“中年危机”
- 《离散数学》学习笔记零之离散数学符号表总结
- c++编程学习
- quartz中的corn表达式(转)