麒麟子

~~

导航

<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

常用链接

留言簿(12)

随笔分类

随笔档案

Friends

WebSites

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜

第一次实现水面渲染(纹理动画方法)

找了很久的相关资料,关于水面渲染的还真不好找呢,突然发现了一个地方有介绍纹理动画,于是就试着做了做,效果还真是不错呢。

只是还没有实现倒影,下次再做。

虽然大虾很多,但像我这样自己捣鼓的也同样存在,那我就说说怎么实现的吧,也顺便理清自己的思路
我说说我的实现方法吧

std::vector<IDirect3DTexture9 *> vecTexture(0); //这个就是用来存储我们的几十张纹理。
先把他们全部加载进去。
然后我们先画一个矩形(略)
 
然后我们根据下面这个来动态切换纹理
Direct3DTexture9* Texture = NULL;
float timeElapsed = 0;
DWORD dwFrameSpeed = 0;
timeElapsed += timeDelta*FrameSpeed;//timeDelta是两次渲染的间隔时间
   if(timeElapsed>vecTexture.size()) timeElapsed = 0;
   Texture = vecTexture[(int)timeElapsed];
 
接下来我们就可以设置纹理,然后渲染那个矩形就可以了。
如果要使水呈透明效果,只要和地形进行ALPHA混合就行了,混合参数自己多调两下。

posted on 2009-04-22 12:26 麒麟子 阅读(1305) 评论(1)  编辑 收藏 引用 所属分类: DirectX

评论

# re: 第一次实现水面渲染(纹理动画方法) 2009-04-22 13:18 Leaf

很想要用函数公式生成的那个,请有相关代码的兄弟们支援一下
mx-weiwei@163.com

谢谢~~~  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理