GLSL实现Simple Displace Mapping 水仿真流体绘制 【转】

http://blog.csdn.net/a3070173/archive/2008/11/20/3342062.aspx

 

  1. Dislace Mapping其实就是在顶点着色器中
  2. 对顶点进行置换偏移,经常用于水仿真流体绘制.
  3. 顶点着色器:
  4. uniform float g_fScale;
  5. uniform sampler2D g_DisplaceTexture;
  6. void main()
  7. {
  8.     float fDisplace = texture2DLod(g_DisplaceTexture, gl_MultiTexCoord0.st, 0.0).r;
  9.     vec4 vec4NewVertex = vec4(gl_Vertex.x, gl_Vertex.y + g_fScale*fDisplace, gl_Vertex.zw);
  10.     
  11.     gl_TexCoord[0] = gl_MultiTexCoord0;
  12.     gl_Position = gl_ModelViewProjectionMatrix*vec4NewVertex;
  13. }
  14. 片元着色器:
  15. uniform sampler2D g_DecalTexture;
  16. void main()
  17. {
  18.     gl_FragColor = texture2D(g_DecalTexture, gl_TexCoord[0].st);
  19. }
  20. Demo效果截图:
  21. exe文件:http://www.fileupyours.com/view/219112/GLSL/Simple%20Displace%20Mapping.rar
  22. VC9运行库:http://www.fileupyours.com/view/219112/GLSL/VC9%26%2336816%3B%26%2334892%3B%26%2326102%3B%26%2324211%3B.rar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值