在 DX8.0 中怎么样使用带颜色键的纹理?

IONPhantom 2001-08-28 12:56:13
我怎么也试不成功,不知道是哪里出错,我用的是
D3DXCreateTextureFromFileExA
这个函数。
不能成功加载,希望高手指点一下!
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mzz_810 2001-11-19
  • 打赏
  • 举报
回复
首先,magicren(小魔人)说得没错,DX8中不支持ColorKey,要用Alpha混合去做;
然后,当用D3DXCreateTextureFromFileExA读取图像文件(BMP也可以)时,参数ColorKey为ARGB格式,例如:如果RGB(0,0,0)为透明色时,应设置为0xFF000000;
接着,在渲染(Render)前,激活并设置相应的Alpha Blend模式:
D3DDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
D3DDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
D3DDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
在渲染完之后,禁止Alpha Blend模式。(如果你要多次用Alpha Blend,可以不禁止。)

ZZZzzz...
mzz_810 2001-11-19
  • 打赏
  • 举报
回复
哈哈,和我以前遇到的问题一模一样呀,让我好好想一想我是怎么解决的……
IONPhantom 2001-11-15
  • 打赏
  • 举报
回复
明明支持的呀!可是我没成功。
magicren 2001-11-14
  • 打赏
  • 举报
回复
好像DX8中不支持ColorKey呀,SDK中说要用Alpha混合去做
zhangying502502 2001-11-13
  • 打赏
  • 举报
回复
创建32位的纹理
将带键的内存拷入就可以了,
由于你的问题不是很清楚我就只能回答这么多了
IONPhantom 2001-08-30
  • 打赏
  • 举报
回复
哦?是吗?那 BMP 或者别的格式不行?
chenlee 2001-08-28
  • 打赏
  • 举报
回复
用32bit的TGA
我试过,没问题的

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧