找了很久的相關資料,關于水面渲染的還真不好找呢,突然發現了一個地方有介紹紋理動畫,于是就試著做了做,效果還真是不錯呢。

只是還沒有實現倒影,下次再做。
雖然大蝦很多,但像我這樣自己搗鼓的也同樣存在,那我就說說怎么實現的吧,也順便理清自己的思路
我說說我的實現方法吧
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混合就行了,混合參數自己多調兩下。