作者StubbornLin (Victor)
看板GameDesign
标题[程式] 材质以mask的方式贴图?
时间Mon Jan 12 13:00:52 2009
我正在研究HGE 2D引擎
这个引擎大部份基本的功能都有了
但是有些事情还是办不到的样子
例如我想要用一个黑与白色之类的mask,从某张材质上挖这样一块图来贴
就似乎办不到的样子....
想来想去好像用一些做法速度都会很慢
像是开一个暂时的texture然後混合 或lock处理 再贴之类的
因此看来不改它引擎想要有快速的mask贴图是不太可能
於是我研究了一下它的原始码
我发现 Direct3D 有blending stages这种东西
http://msdn.microsoft.com/en-us/library/bb206241(VS.85).aspx
也就是可以有好几个阶段(最多8个),不同的材质 不同的算法混在一起
http://www.cppblog.com/kesalin/archive/2008/03/23/45183.html
像这个范例所示的那样
我的想法是第一个阶段是基础材质,RGBA直接进行copy
接着第二阶段的材质是mask,将alpha值加上上一个材质的RGBA
这样做就等於alpha channel加在一起
理论上是这样,不过没有实际玩过D3D 我以前玩的是DirectX Draw
请问这样的做法对吗? 我现在还没空去实做
还有其它更好的做法吗?
以上,谢谢
--
哇咧咧 创意投票系统
http://walele.com
易记学 程式设计教学
http://ez2learn.com/
易记学 程式设计讨论区
http://forum.ez2learn.com
VICTOR's 个人Blog
http://blog.ez2learn.com/
财报分析王
http://victorlin.serveftp.org/stock/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.81.89