游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3699|回复: 5

设定用ID3DXSprite显示图片时的透明效果?

[复制链接]

22

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2006-4-1 13:22:00 | 显示全部楼层 |阅读模式
我想用ID3DXSprite显示透明的图片,并可按要求显示不同的透明效果,在程序中试了试,好像用pDevice->SetRenderState()  并没有改变用ID3DXSprite显示的图片的透明效果?

而如果创建顶点缓冲,并指定其顶点颜色(不用纹理),在pDevice->SetRenderState()之后,可渲染出设定的透明效果。

所以猜测,用ID3DXSprite显示图片时,如果设定ID3DXSprite::Begin( alpha blend标志);则按其默认规则处理的,使用pDevice->SetRenderState()不能改变其AlphaBlend计算方式!就是它只支持一种AlphaBlend!不知道是不是这样的!或者是说还需要做一些事情,才可以那样做。如果可以,我还是希望用ID3DXSprite来显示不同的透明的图片!

22

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2006-4-2 13:32:00 | 显示全部楼层

Re:设定用ID3DXSprite显示图片时的透明效果?

忘了一点:在程序中还用了IDirect3DDevice9::SetTextureStageStage()中AlphaBlend部分相应操作,但若用这个函数,则用顶点缓冲显示的区域便成了黑色!

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-4-3 15:43:00 | 显示全部楼层

Re:设定用ID3DXSprite显示图片时的透明效果?

这个帖子里面有解释(3楼最后面)
http://www.dingge.com/forum/dispbbs.asp?boardID=46&ID=6940&page=1

11

主题

123

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2006-4-4 13:50:00 | 显示全部楼层

Re:设定用ID3DXSprite显示图片时的透明效果?

  和你图片原来的alpha信息相关,你说的方法只计算这里的信息,你到比的游戏里弄张.tag的图片就会看到透明效果,我学渲染就是从这个问题开始的。

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-4-4 14:11:00 | 显示全部楼层

Re:设定用ID3DXSprite显示图片时的透明效果?

这个帖子里面有解释(下面链接贴3楼最后面有详细描述,0xff标志就是控制整个图片的透明度的)
http://www.dingge.com/forum/dispbbs.asp?boardID=46&ID=6940&page=1

22

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2006-4-5 13:13:00 | 显示全部楼层

Re:设定用ID3DXSprite显示图片时的透明效果?

谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 02:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表