作者TheGate (門)
看板GameDesign
標題[請益] opengl 手電筒
時間Sat Nov 17 22:57:37 2012
大家好
目前在練習opengl的時候遇到一些問題
我想作一個2D動作遊戲的畫面
類似小朋友下樓梯這種
然後場景全部都是黑的
玩家腳色有一個手電筒照出來
被照到的地方才會顯示
像這樣
http://ppt.cc/vX8b
(照到餐桌)
目前想法是用一個大的黑色圖片
挖出照明的地方設為透明
這樣只要把場景畫完
把這張圖蓋上去就好了
不過有幾問題
第一個就是這樣照地板/天花板的話 光會穿透照到樓上或樓下的空間
另外就是沒辦法在場景中增加第二個獨立光源
因為兩個光源彼此位置會不同
沒辦法用遮罩的方式來做
不知道該用什麼方式解決
我知道opengl本身有光源設定
不過這種光源我不知道要怎麼設定才能像圖片這樣黑白分明
不會散射?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.234.103
※ 編輯: TheGate 來自: 140.114.234.103 (11/17 22:58)
→ tsl3333:Stencil Buffer可以解決你一些問題 11/18 00:14
這個似乎是內建的遮罩?
研究看看
推 Bencrie:之前不是有板友分享過即時軟體陰影的演算法? 11/18 00:25
→ Bencrie:#1FCCfWSG 這篇不知道是不是你要的 XD 11/18 00:27
這方法太強大了ORZ 可能不適用
畢竟我不用影子 而且希望光線只有一個距離 而不是慢慢減弱到無
※ 編輯: TheGate 來自: 140.114.79.114 (11/18 11:01)
→ tsl3333:你可以用你說的方法 一張類似你要照亮的地方設成透明 11/18 11:31
→ tsl3333:蓋上去之後 在用stenil buffer去濾掉你說的可能會照到 11/18 11:32
→ tsl3333:樓上樓下的問題 11/18 11:32
→ tsl3333:stencil buffer一.一 打太快漏字 11/18 11:33