游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2604|回复: 7

D3DXSprite绘制Texture如何加入光照?

[复制链接]

2

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2006-5-28 01:19:00 | 显示全部楼层 |阅读模式
主要是想实现颜色的混合,比如在Texture表面蒙上一层红色……

在一般的D3D多边形渲染时,是可以使用Diffuse Color来表现这种效果的。不过用了D3DXSprite之后,就不知道该加在哪里了……

听说D3DXSprite不能用光照的,不知道是不是真的。如果不用光照,混色的效果如何才能实现呢?

0

主题

237

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2006-5-28 10:14:00 | 显示全部楼层

Re:D3DXSprite绘制Texture如何加入光照?

不能用光照是真的, 要用vertex color, 或者 multi-texture.

2

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
 楼主| 发表于 2006-5-28 20:55:00 | 显示全部楼层

Re:D3DXSprite绘制Texture如何加入光照?

多谢楼上的。我试试看~

2

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
 楼主| 发表于 2006-5-29 04:31:00 | 显示全部楼层

Re:D3DXSprite绘制Texture如何加入光照?

实验成功了~

在ID3DXSprite的Begin方法执行之后,
调用ID3DDevice的光照开启方法,加入material,然后设置D3DRS_AMBIENT为某种颜色,就可以把这次渲染的Sprite加上全局光。

20

主题

94

帖子

103

积分

注册会员

Rank: 2

积分
103
发表于 2006-5-29 10:52:00 | 显示全部楼层

Re:D3DXSprite绘制Texture如何加入光照?

好!支持FantasyDR有问题还能解决问题的!
欢迎你来http://bbs.gameres.com/showthread.asp?threadid=56263

2

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
 楼主| 发表于 2006-5-30 14:41:00 | 显示全部楼层

Re:D3DXSprite绘制Texture如何加入光照?

楼上很寒啊,不晓得哪里得罪这位大仙了,有高见请直接说啊,装可爱是不对的。

刚刚学习D3D,很多东西不懂。

我按照2楼的提示去试过了。但是关于vertex color不知道该怎么设置……
我按照后一种提示,发现multi-texture blending的一个颜色属性可以在D3DXSprite的Begin方法之后设置:
m_pD3DDevice->SetRenderState( D3DRS_TEXTUREFACTOR,color);
接下来使用
m_pD3DDevice->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TFACTOR);
改变颜色混合的其中一个参数就可以达到混色的目的了。
的确不用光照,我想的偏了-.-

但是我后来再试,发现貌似光照还是可以用的,就是在4楼提到的那种用法。

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2006-5-30 15:33:00 | 显示全部楼层

Re:D3DXSprite绘制Texture如何加入光照?

只能用D3DRS_AMBIENT?
不能用D3DRS_DIFFUSE?

20

主题

94

帖子

103

积分

注册会员

Rank: 2

积分
103
发表于 2006-5-30 17:45:00 | 显示全部楼层

Re:D3DXSprite绘制Texture如何加入光照?

哈~~开个玩笑
不要太紧张~~嘻嘻
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 15:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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