模仿草的运动 – GPU(Pixel Shader & Vertex Shader)实现
介绍
随着硬件的不断更新模仿草的运动不在需要循环播放一个重复的动画了,GPU的强大性能使得模仿更真实的草的运动得以实现。所以(^_^ )下面介绍做一模仿草的运动的Demo。
原理
1.泰勒级数的定义:
图1:泰勒级数公式
2. 泰勒级数在幂级数展开中的应用:
图2:泰勒级数在幂级数中的展开
3. 波动:
草的波浪起伏运动用一个Vertex Shader完成。草片纹理是一个四方行(如图2),草的渲染可以通过随机放置交叉的草片纹理。对草片纹理通过Alpha测试(Alpha Test)处理让草片纹理上面黑色部分象素不能通过。草的运动通过给草片纹理所贴的四边形上面两点混合四个正弦波(Sinusoidal),正弦波通过泰勒级数来逼近(泰勒级数如图1、泰勒级数展开如图2),用不同频率产生混合正弦波所形成的草的自然波就不像固定动画那样死板。
图2:草片纹理
4.