游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1781|回复: 3

ID3DXSprite 遮挡问题

[复制链接]

52

主题

155

帖子

160

积分

注册会员

Rank: 2

积分
160
发表于 2007-7-20 16:26:00 | 显示全部楼层 |阅读模式


  1. //在render函数里先画这个图片
  2. ID3DXSprite*            g_pTextSprite = NULL;                
  3. g_pTextSprite->SetTransform(&spmat);
  4.                 g_pTextSprite->Begin( D3DXSPRITE_BILLBOARD|D3DXSPRITE_ALPHABLEND|D3DXSPRITE_SORT_TEXTURE);               
  5.                 V(g_pTextSprite->Draw(g_pTexture,NULL,NULL,NULL,0xFFFFFFFF));
  6.                 g_pTextSprite->End();
  7.                 g_pTextSprite->SetTransform(&spmat);

  8. //////再画一个矩形


  9. IDirect3DVertexDeclaration9 *pDecl = NULL;
  10.     pd3dDevice->GetVertexDeclaration( &pDecl );  // Preserve the sprite's current vertex decl
  11.     pd3dDevice->SetFVF( DXUT_SCREEN_VERTEX::FVF );

  12.     pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG2 );
  13.     pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2 );

  14.     pd3dDevice->DrawPrimitiveUP( D3DPT_TRIANGLEFAN, 2, vertices, sizeof(DXUT_SCREEN_VERTEX) );

  15.     pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
  16.     pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE );

  17.     // Restore the vertex decl
  18.     pd3dDevice->SetVertexDeclaration( pDecl );

复制代码

发现ID3DXSprite画的东西遮挡了后画的东西,请问怎么解决啊?是不是ID3DXSprite就是这样的特性?

52

主题

155

帖子

160

积分

注册会员

Rank: 2

积分
160
 楼主| 发表于 2007-7-20 16:29:00 | 显示全部楼层

Re: ID3DXSprite 遮挡问题

问题2, ID3DXSprite的矩阵是否与d3d矩阵是两个完全不同的空间?
一个是2D,一个是3D。

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-7-20 16:44:00 | 显示全部楼层

Re:ID3DXSprite 遮挡问题

你要对渲染物体进行排序的

52

主题

155

帖子

160

积分

注册会员

Rank: 2

积分
160
 楼主| 发表于 2007-7-20 17:31:00 | 显示全部楼层

Re:ID3DXSprite 遮挡问题

是排序的,出现的情况是后画的被先画的遮挡了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 18:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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