游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2614|回复: 9

D3D中的2D问题,请多指教

[复制链接]

8

主题

44

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2005-8-23 18:25:00 | 显示全部楼层 |阅读模式
用dx8开发了个2d小游戏
用的是
LPD3DXSPRITE            pD3DSprite;
pD3DSprite->Draw(pD3DTex[10], NULL, &sc, NULL, rot, &diag, D3DCOLOR_ARGB(255, 255, 255, 255));
没有用到3D的操作,听说在dx8中可以方便的实现纹理的混合操作
是不是用3D中的纹理混合必须要画一个三角形再给它贴图使用多重纹理才能混合
这样纯粹的2D小游戏中能用dx8中的纹理混合功能吗?
通过LPD3DXSPRITE  的draw()方法显示有没有办法使用dx8中的纹理混合功能呢?

问题太菜大家 见笑,请多帮忙:)

0

主题

237

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2005-8-24 09:06:00 | 显示全部楼层

Re:D3D中的2D问题,请多指教

其??你用D3DXSprite已?是在使用3D了, D3DXSprite是dx8?冉?D的2D工具.

D3DXSprite纹理混合就不知道了, 可能可以吧, 但看?砟阋?约焊愣??...

8

主题

44

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2005-8-24 09:08:00 | 显示全部楼层

Re:D3D中的2D问题,请多指教

谢谢楼上的   

有没有了解这方面的朋友帮个忙

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2005-8-24 09:36:00 | 显示全部楼层

Re:D3D中的2D问题,请多指教

你现在用的就是D3D,当然可以用纹理混合了,不过纹理混合层不要太多.在抵挡显卡里要控制在3层内,实在不行使用多pass就可以了.
要使纹理混合在ID3DXSprite接口里可以使用,必须把混合代码写在pSprite->Begin()函数后,End()之前.MS在Begin时使用了StateBlock保存现有的渲染状态,以便在渲染完毕后恢复渲染前的渲染状态

8

主题

44

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2005-8-24 13:24:00 | 显示全部楼层

Re: D3D中的2D问题,请多指教

谢谢楼上的   能不能麻烦你给段代码 我试了不行啊

可能是我的代码不对吧

8

主题

44

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2005-8-24 13:45:00 | 显示全部楼层

Re: D3D中的2D问题,请多指教

g_pD3DDevice->BeginScene();
pD3DSprite->Begin();

g_pD3DDevice->SetTexture( 0, pD3DTex[10] );


g_pD3DDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_MODULATE );
    g_pD3DDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
    g_pD3DDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
    g_pD3DDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_DISABLE );

pD3DSprite->Draw(pD3DTex[9], &rect, &sc, NULL, rot, NULL, D3DCOLOR_ARGB(255, 255, 255, 255));
pD3DSprite->Draw(pD3DTex[10], NULL, &sc, NULL, rot, &diag, D3DCOLOR_ARGB(255, 255, 255, 255));
    pD3DSprite->End();
    g_pD3DDevice->EndScene();

以上代码没有效果:(请帮忙

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-8-25 09:27:00 | 显示全部楼层

Re:D3D中的2D问题,请多指教

用多重渲染的混合方法,即用AlphaBlend。

8

主题

44

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2005-8-25 15:24:00 | 显示全部楼层

Re: D3D中的2D问题,请多指教

我的代码也贴了上
哪里不对的请指明,用多重渲染的混合方法我也知道啊
我就是不会用才来问的啊
请说详细点。谢谢!

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-8-26 10:15:00 | 显示全部楼层

Re:D3D中的2D问题,请多指教

可惜我不在自己机上,总之不是用SetTextureStageState

8

主题

44

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2005-8-26 17:32:00 | 显示全部楼层

Re: D3D中的2D问题,请多指教

谢谢大家
请在有空的时候帮忙解决一下。
[em23]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 15:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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