Ogre水面倒影的實現

簡單介紹一下水面倒影的實現方式

這裏簡單介紹一下水面倒影的渲染實現方式,因爲我自己也沒有找到比較理想的水面波動生成算法,所以就不介紹了

直接說原理吧,和上一篇的陰影實現有點類似
在實現水面倒影前我們先想想,當攝像機在水面上方移動的時候倒影的渲染也會變化,所以倒影的渲染和相機的紋理息息相關
假設攝像機Camera0此幀在P位置,水面爲Plane,我們創建一個新的相機Camera1,將Camera1位置,方向用Plane做一個鏡面對稱,將水面設置爲近截面。然後利用Camera1渲染出一張RTT紋理。和紋理陰影記錄紋理和視圖投影M1矩陣,在Shader裏面進行相對的映射(有時候會考慮水面法向量),映射方式請參考上一篇紋理陰影映射方式。
然後將水面本身的顏色和當前映射出的顏色做混合。即得到了倒影效果,簡單吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章