游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4181|回复: 8

??????????

[复制链接]

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
发表于 2011-6-7 11:13:00 | 显示全部楼层 |阅读模式

?????????????????????????????????

0

主题

275

帖子

676

积分

高级会员

Rank: 4

积分
676
发表于 2011-6-7 12:19:00 | 显示全部楼层

Re:??????????

?????AlphaBlend? ?????Alpha
Rt=Rs*A+Rd(1-A)
Gt=Gs*A+Gd(1-A)
Bt=Bs*A+Bd(1-A)

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2011-6-7 13:17:00 | 显示全部楼层

Re: Re:??????????

Aming: Re:??????????

?????AlphaBlend? ?????Alpha
Rt=Rs*A+Rd(1-A)
Gt=Gs*A+Gd(1-A)
Bt=Bs*A+Bd(1-A)


???????????DX9?

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2011-6-8 20:45:00 | 显示全部楼层

Re: Re: Re:??????????

????: Re: Re:??????????



???????????DX9?


?????????????
??????? SetRenderState ?? SetTextureStageState
??????????alpha?????????alpha blend????color blend?

m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLOROP, D3DTOP_SELECTARG1);
// ?????????????????????????????????

m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR); // ?????D3DBLEND_ONE????????
m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2011-6-8 22:39:00 | 显示全部楼层

Re: Re: Re: Re:??????????

instemast: Re: Re: Re:??????????



?????????????
??????? SetRenderState ?? SetTextureStageState
??????...


??????????????
????????????????????????????,??????????.
???????????????.?
?????:

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2011-6-9 01:08:00 | 显示全部楼层

Re:??????????

    ?????????????????alpha????????????????
    ????????alpha???????

    m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
    m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);

================================================================================

??????????????????????alpha???????

????????????? src * alpha + dest ??alpha??????

m_pd3dDevice->SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_COLOR1);

m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1, D3DTA_DIFFUSE);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG2, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLOROP, D3DTOP_MODULATE);

m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2011-6-9 09:09:00 | 显示全部楼层

Re: Re:??????????

instemast: Re:??????????

    ?????????????????alpha????????????????
    ????????alp...


??D3DBLEND_ONE????????????????D3DBLEND_ONE???????????????????????????????????????????????????????????????????????
????0xffff00ff????????????


??alpha???????????????alpha??????????????????????????????????????????

PS?
??????????????????????????
?????????????????????????????????????????????????????????????????????shader???????????????????????

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2011-6-9 16:01:00 | 显示全部楼层

Re:??????????

??alpha???????????????alpha??????????????????????????????????????????

??????alpha?????????????alpha??????
?????????????????alpha???lock??????????

m_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);

m_pd3dDevice->SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_COLOR1);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1, D3DTA_DIFFUSE);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLOROP, D3DTOP_SELECTARG1);

m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);
m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);

??????????????????????????

????????????????????????????

?????????????????
??????? src * alpha + dest ??alpha?????

m_pd3dDevice->SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_COLOR1);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1, D3DTA_DIFFUSE);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG2, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState(0,D3DTSS_COLOROP, D3DTOP_MODULATE);

m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);

* ?????????????????2?texture stage??????D3DTA_DIFFUSE????????????

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2011-6-9 18:16:00 | 显示全部楼层

Re: Re:??????????

instemast: Re:??????????

??alpha???????????????alpha???????????????????????????...


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

本版积分规则

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

GMT+8, 2025-8-7 22:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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