游戏开发论坛

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

请给段3d半透明的代码

[复制链接]

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
发表于 2004-11-17 19:32:00 | 显示全部楼层 |阅读模式
比如说我画了一个正方形,现在要使它半透明
请问该怎么做?
看到一个方法很简单,就是设置半透明通道为
顶点的diffuse.a。可是我试了一下,不成功……

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-11-18 10:02:00 | 显示全部楼层

Re:请给段3d半透明的代码

Alpha渲染状态有没打开啊?

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-11-18 11:26:00 | 显示全部楼层

Re:请给段3d半透明的代码

请把代码贴出来吧。

我在别人电脑上面,不太方便贴自己的代码。

你说的alpha渲染状态是不是settexturestate()这个函数
设置的?同时我也已经把顶点的diffuse赋值成了
D3DCOLOR_RGBA(_,_,_,_)。就是不行啊。郁闷啊!

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-11-18 12:05:00 | 显示全部楼层

Re:请给段3d半透明的代码

总开关n混合方法:
m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
m_pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
m_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-11-18 12:07:00 | 显示全部楼层

Re:请给段3d半透明的代码

下面跟纹理混合有关可能根据不同情况有所不同:
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE);
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-11-18 12:20:00 | 显示全部楼层

Re:请给段3d半透明的代码

谢谢!原来我没设置渲染状态!

谢谢了!不知道Quest兄可否指教
小弟如何使用stencil buffer?我在
搞planer shadow,要解决投影范围
和重复渲染的问题。还请指教啊!

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-11-18 12:28:00 | 显示全部楼层

Re:请给段3d半透明的代码

不敢不敢
大家共同进步吧

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-11-18 12:29:00 | 显示全部楼层

Re:请给段3d半透明的代码

吃饭饭先

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-11-18 15:47:00 | 显示全部楼层

Re:请给段3d半透明的代码

Quest兄,怎么不现身了啊?!·

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

本版积分规则

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

GMT+8, 2026-1-17 22:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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