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. GLSL实现Simple Displace Mapping 水仿真流体绘制 【转】
  22. exe文件:http://www.fileupyours.com/view/219112/GLSL/Simple%20Displace%20Mapping.rar
  23. VC9运行库:http://www.fileupyours.com/view/219112/GLSL/VC9%26%2336816%3B%26%2334892%3B%26%2326102%3B%26%2324211%3B.rar

GLSL实现Simple Displace Mapping 水仿真流体绘制 【转】,布布扣,bubuko.com

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

上一篇:android学习笔记--Scanner


下一篇:javascript判断设备类型-手机(mobile)、安卓(android)、电脑(pc)、其他(ipad/iPod/Windows)等