PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
GameDesign
[程式] 請教一個關於2D透明貼圖的問題
作者:
xtxml
(赤木巧☠)
2014-10-13 12:39:11
工作之餘做一點小練習,想寫一個簡單的2D graphic engine,不過碰上一點問題如下。
A和B的構造如下圖,A包含了A1和A2,A2蓋在A1上。
然後我想做的效果是 A * 0.5(alpha)之後蓋到B上面。
http://i.imgur.com/T322qyt.png
這邊如果只是簡單地把A1 * 0.5(alpha)、 A2 * 0.5(alpha),貼到B上面,
會出現不想出現的效果如左圖,但實際上我想呈現的是右邊的效果。
http://i.imgur.com/ZQ0hJak.png
右邊當初我是使用RTT(render to texture)的方式完成,
不過只要有一個這類的物件就要多一次這樣的步驟,使用到大量的draw call,
物件一多之後速度變慢得蠻嚴重的。
想請問一下各位先進,類似的問題有沒有效能比較好的方式可以解決呢?
(如果可以的話,給個關鍵字也會對我幫助很大,
因為這個問題不知道該怎麼描述,連google都很難找orz)
感謝:)
作者:
cowbaying
(是在靠北喔)
2014-10-13 12:53:00
怎麼我看兩邊一樣...
作者:
azureblaze
(AzureBlaze)
2014-10-13 12:57:00
他的圖很失敗只是示意而已沒照顏色畫XD如果可以控制順序用depth/stencil buffer可以控制他要的是
http://i.imgur.com/o3AnsIR.png
作者:
xtxml
(赤木巧☠)
2014-10-13 13:08:00
抱歉我的示意圖很糟,請看文字的部分
作者:
azureblaze
(AzureBlaze)
2014-10-13 13:24:00
你可以畫藍色時同時畫stencil,這樣紅色就畫不上去
作者:
xtxml
(赤木巧☠)
2014-10-13 13:35:00
就這個例子的話可以,但很多層"A"疊在一起的話該怎麼做呢?
作者:
cowbaying
(是在靠北喔)
2014-10-13 15:21:00
引擎等級的話...我記得要先看你調色盤的形式我是都用RGB 比較好理解
作者:
KanoLoa
(卡)
2014-10-13 16:40:00
我自己手刻的時候都先算好全部顏色再畫...
作者:
cowbaying
(是在靠北喔)
2014-10-13 16:42:00
樓上 不是本來就該先在BUFFER裡算好再畫嗎? XDDD
作者:
xtxml
(赤木巧☠)
2014-10-13 16:44:00
如果這個問題沒有一個通用的解法,那也只能放棄了Q.Q
作者:
cowbaying
(是在靠北喔)
2014-10-13 16:46:00
我覺得你可以去看一下OPENGL的SHADER跟BUFFER
作者:
KanoLoa
(卡)
2014-10-13 16:47:00
小的無知,如果不是用疊的,那效能問題是出在?
作者:
xtxml
(赤木巧☠)
2014-10-13 16:48:00
看過不少shader範例,但是始終沒有看到解決類似問題的orz我自己測起來,瓶頸是卡在draw call、RTT切換貼圖的次數
作者:
cowbaying
(是在靠北喔)
2014-10-13 16:55:00
基本上 不管你疊多少層東西 只會產生一次draw call看樣子你是一張圖call了4次所以結果才會錯誤從AZ的圖看的出來左邊的紫色是紅+藍造成的不過怎麼感覺我好像離題了...看看depthmask是否符合你要的
作者:
xtxml
(赤木巧☠)
2014-10-13 18:05:00
嗯嗯,我在看看好了,感謝
繼續閱讀
[新聞] 助本土創意 遊戲業跨足創業平台
filmwalker
[分享] SMU Guildhall 第一個半學期的學習心得
Rscorpiox
Re: [遊戲] 分享我們的自製遊戲情報
AmosYang
[請益] Unity家教
gourou
Re: [遊戲] 分享我們的自製遊戲情報
akilight
Re: [遊戲] 分享我們的自製遊戲情報
AmosYang
[遊戲] 分享我們的自製遊戲情報
akilight
[程式] 亂數、線性同餘、perlin noise
cowbaying
[請益] Unity 程式問題
firebow
Fw: [心得] 到目前為止的Naughty Dog生活
cjcat2266
Links
booklink
Contact Us: admin [ a t ] ucptt.com