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