码迷,mamicode.com
首页 > 其他好文 > 详细

使用GLSL实现的海洋效果 【转】

时间:2014-06-25 13:46:34      阅读:705      评论:0      收藏:0      [点我收藏+]

标签:des   class   http   tar   ext   com   

http://bbs.osgchina.org/viewthread.php?tid=342&extra=page%3D3

 

虽说自己原创的部分并不算多,不过总算是调试通过了,中间有多次严重的死机……估计该换新显卡了~~不过最后的效果还蛮不错?

实现海洋平面的GLSL源代码来自:http://emiug.alanabram.co.uk,感觉他的代码比Bonzai公司的要简单些(后者需要水面纹理的反射/散射/法线/深度/Dudv贴图,3DVRI实现的水面效果好像也与之类似)。不过我个人还是GLSL的初学者,没资格多评论~~

OSG程序中,注意所需的uniform变量包括:LightPos,time,normalMap和cubeMap。后两者属于纹理采样器,在OSG中需要使用
osg::Uniform( "normalMap", 0 )和osg::Uniform( "cubeMap", 1 ) 来指定纹理采样器对应的纹理单元,同时使用setTextureAttributeAndModes在对应的纹理单元设置正确的贴图图样。

至于海洋效果的实现,应该说属于数学范畴吧~~大家不妨从附件的代码中了解一二。
使用 GLSL可以实现许多让人瞠目结舌的三维特效,可惜现在国内这方面的研究资料这好像同样很少,相关书籍也只有翻译的《OpenGL Shading Language》一本,希望能有更多的朋友分享自己的经验和成果。就像这位与我们并不相识的Alan ABram一样~~

bubuko.com,布布扣

使用GLSL实现的海洋效果 【转】,布布扣,bubuko.com

使用GLSL实现的海洋效果 【转】

标签:des   class   http   tar   ext   com   

原文地址:http://www.cnblogs.com/mazhenyu/p/3806641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!