XNA水面效果

几乎所有的室外场景游戏都少不了水面效果的渲染,基中主要包括波浪效果、反射效果、折射效果等,在这之前我对它可是一无所知,现在总算是有了初步的了解,主要是归功于XNA的快速。当然,我的主要目的还是对算法进行学习。

原理我还是不说,Google一下,讲的很好的。我这里主要有1个Water类和一个VertexMultitextured结构体,还有一个Effect。


 附件: 您所在的用户组无法下载或查看附件

用它做法线

Water类是实现水面效果的主要类

Code


而VertexMultitextured结构体主要是水面的数据

Code


最重要的是Shader

Code


好了,代码出来了,下面可以看下实现后的效果。

 

 附件: 您所在的用户组无法下载或查看附件


有波浪的水面


 附件: 您所在的用户组无法下载或查看附件

平静的水面

这里也只算是一个比较基本的水面效果,还不够真实,可以去完善一下。





(文/desmend  出处/博客园)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Visual Studio.NET] 的这些文章也感兴趣:

VS 2008性能补丁以及VBScript的意外消息
Mono的WinForms 2.0的代码已经完成
VisualStudio 10 (或称Visual Studio 2009 ) 将支持多种架构设计图
深入解析.NET的相等操作符
使用 RemotingServices.Marshal 实现 Remoting 双向通信
用VS Express创建Windows Home Server插件
Microsoft Sync Framework "再次"发布
微软同步框架(MSF)入门之五--使用WCF同步远程数据
微软世界中的S+S
如何使用.Net来设计一个爬虫系统