同时使用ColorKey以及顶点Alpha效果 可以在d3d8中实现吗

zzz822163 2009-04-09 06:41:18
//设置alpha混合
m_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
//设置alpha值(把纹理alpha和顶点alpha进行乘法运算)
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE );
//渲染图元
m_pd3dDevice->SetFVF(FVF);
m_pd3dDevice->SetStreamSource(0,m_pVB,0,sizeof(VERTEX));
m_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLEFAN,0,2);

用这个方法我在d3d9中实现了,d3d8却不行,是不是d3d8不支持?
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz822163 2009-04-10
  • 打赏
  • 举报
回复
d3d8也支持的,原来是光照没处理好
zzz822163 2009-04-10
  • 打赏
  • 举报
回复
D3DXCreateTextureFromFileEx创建纹理的时候可以指定关键色,
IONPhantom 2009-04-10
  • 打赏
  • 举报
回复
那个不是D3D本身支持ColorKey而是D3DXCreateTextureFromFileEx自己处理了一下纹理而已,自己完全可以在shader里实时计算,ColorKey技术太老了
IONPhantom 2009-04-09
  • 打赏
  • 举报
回复
D3D从DX7开始就没支持过ColorKey,而且你的代码里面也没有和ColorKey有关的东西啊?
顶点Alpha效果DX8支持,没有问题

19,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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