[程式]水面效果實作方法分享&討論

看板GameDesign (遊戲設計)作者 (tim11251994)時間9年前 (2016/02/28 01:40), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
大家好 由於我目前正在製作的遊戲(+簡易遊戲引擎 需要製作水面的渲染(render),因此找了相關的資料 目前以該教學網頁的方法做修改後去實作 連結: https://tutorialsplay.com/opengl/2014/09/26/lesson-15-water -with-opengl-on-the-gpu-with-glsl/ 目前實作方法為,先生成水的mesh後儲存 (除非水產生變化,否則不進行修改,重複使用 接著由於水是半透明的,因此需要在非透明物體先render完後 才能進行render避免遮蓋後方物體 (因為depth test關係,水面雖然是透明 接著在vertex shader計算水波的高度(我是使用多個波進行重疊 需要的參數有時間,波長,波高,座標(目前vertex的世界座標,取x跟z 接著直接修改vertex高度(vertex的高度+=波高 我是在geometry shader用三角形兩邊向量cross取法向量 (其實應該有更好的方法, 最後在fragment shader用水的顏色(自己設定的..) 跟skymap(一個存背景圖的cubeMap)取出的反射顏色去混色 最後乘上亮度,設定水的透明度(我是抓0.85) 就完成簡易的水的渲染了 附上影片demo https://youtu.be/8Ceof034DAY
github原始碼連結: https://github.com/tim099/GameTest 希望也能有人分享一些相關的資料 感謝您耐心的閱讀 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.234.148 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1456594801.A.C9D.html

02/28 01:51, , 1F
第一個連結建議用goo.gl縮一下,文字排版建議修一下,
02/28 01:51, 1F

02/28 01:52, , 2F
文章看起來蠻擁擠的...
02/28 01:52, 2F

02/28 03:36, , 3F
幫你縮
02/28 03:36, 3F

02/28 03:37, , 4F
02/28 03:37, 4F

03/14 20:39, , 5F
看起來更成熟了,刻意讓浪小一點嗎?
03/14 20:39, 5F
文章代碼(AID): #1MqTznoT (GameDesign)
文章代碼(AID): #1MqTznoT (GameDesign)