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