GLSL实现Interactive Fluid 流体【转】

时间:2021-06-24 01:53:28

http://blog.csdn.net/a3070173/archive/2008/12/08/3479477.aspx

  1. 完成的部分:
  2. 1.流体本身的绘制和更新
  3. 未解决的部分:
  4. 1.由于采用经过抖动的屏幕坐标进行折射图纹理采样,在设置了GL_CLAMP_TO_EDGE之后仍然会
  5. 导致边沿采样走样,仔细对比了游戏编程精粹6的样例,发觉在OpenGL上设置了与D3D对应的OpenGL
  6. 纹理环绕参数,但仍未能避免这个问题.
  7. 2.反射图在进行采用纹理坐标抖动后发生采样错误.
  8. Demo效果截图:
  9. GLSL实现Interactive Fluid 流体【转】
  10. GLSL实现Interactive Fluid 流体【转】
  11. exe文件:http://www.fileupyours.com/view/219112/GLSL/Interactive%20Fluid%20%20Demo%20V0.5.rar
  12. VC9运行库:http://www.fileupyours.com/view/219112/GLSL/VC9RunningLib.rar
  13. 备注:因为过两天要考试所以就先做到这里,待考完试后一定会尽快解决上述未解决的问题.
  1. 版本0.9修改的地方:
  2. 1.修正了水体表面切心和法线的计算
  3. 2.使用结合视角和高度的计算代替传统的近似Fresnel公式计算Fresnel项值
  4. 3.通过微移裁剪平面的方式修正反射图和折射图采样(备注:这里特别感谢Azure的指点,
  5. 虽然我认为这认为这不是一个完善的解决方案,但确实能解决这个Demo的问题)
  6. 版本V0.9Demo效果截图:
  7. GLSL实现Interactive Fluid 流体【转】
  8. 版本V0.9exe文件:http://www.fileupyours.com/view/219112/GLSL/Interactive%20Fluid%20%20Demo%20V0.9.rar
  9. Azure前辈的主页联接:http://www.azure.com.cn/default.asp