glsl smoothstep 属于埃尔米特(Hermite)插值

转载一:  http://blog.csdn.net/meegomeego/article/details/8639126


smoothstep

转载  2013年03月05日 18:09:15

将返回一个 0 到 1 的值,该值表示参数在最小值和最大值之间的成比例距离。smoothstep 函数将用于在一段时间范围内逐渐但非线性地增加属性,例如,“不透明度”(Opacity)从 0 增加到 1。

smoothstep 函数与 linstep 函数的工作方式类似,不过其将在最小值和最大值之间的中间值附近更快地增加值。该函数使用最小值和最大值之间的 hermite 插值。

float smoothstep(float start, float end, float parameter)

起点和终点将指定最小值和最大值。

参数为要用于生成 smoothstep 数的值。

如果参数小于起点,linstep 将返回 0。

如果参数大于终点,linstep 将返回 1。

下图将根据时间顺序比较 smoothstep 和 linstep 返回的值:

示例

假设已使用“粒子工具”(Particle Tool)来创建名为“云”(Cloud)的粒子的集合:

假设也已逐对象为“云”(Cloud)添加动态“不透明度”(Opacity)属性(请参见使用粒子属性)。然后,可以为云的粒子形状节点写入该运行时表达式:

CloudShape.opacity = smoothstep(0,5,age);

对于对象年龄的前 5 秒,这将在 0 到 1 的步骤中增加“CloudShape”“不透明度”(Opacity)属性。这将使对象从透明淡入到不透明。在 2.5(0 与 5 的中点)附近,不透明度的淡入和淡出发生得更快。

有关类似示例的详细信息,请参见 linstep 函数。

http://download.autodesk.com/global/docs/maya2013/zh_cn/index.html?url=files/Useful_functions_smoothstep.htm,topicNumber=d30e718640


转载二:   http://blog.csdn.net/libing_zeng/article/details/68924521

 

smoothstep(),平滑阶梯函数,平滑过渡函数

标签: smoothstep平滑阶梯函数平滑过渡函数计算机图形
  1829人阅读  评论(0)  收藏  举报
  分类:
 

目录(?)[+]

函数定义:

参考:https://en.wikipedia.org/wiki/Smoothste 
这里写图片描述

这里写图片描述

相关函数图形如下:

这里写图片描述 
计算机图形中经常用到正如上图所示的:两个smooth()函数相减。

相关C++代码:

这里写图片描述

维基百科 smoothstep:  https://en.wikipedia.org/wiki/Smoothstep


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值