游戏开发论坛

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

ID3DXSprite::Draw的问题

[复制链接]

4

主题

9

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2007-11-30 22:13:00 | 显示全部楼层 |阅读模式
大家好 我刚学DirectX9遇到个问题请教下大家

有3副图 尺寸分别是145*282  340*68  176*760 使用ID3DXSprite:raw做2D的绘图 按顺序竖着贴,主要代码
D3DXCreateTexture(pd3dDevice,width,height,1,0,D3DFMT_A4R4G4B4,D3DPOOL_MANAGED, &ppTextureMap);
rect.left = 0;rect.top = 0;rect.right = width;rect.bottom = height;
g_pTextSprite->Draw(ppTextureMap, &rect, &center, &position, 0xffffffff);
始终图片就是对不齐

position的X和Y分别-0.5只有2张图对齐了但是还是有一条横线,另一个图还是没对齐
center的X和Y分别是每幅图的width/2和height/2

好像是宽或高除2有余数的就会有问题 用float和int都不行 郁闷至极 有余数的和没余数的就是对不齐 请知道的朋友讲解一下。谢谢了。

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-12-2 12:55:00 | 显示全部楼层

Re:ID3DXSprite::Draw的问题

纹理长宽必须是2的幂。硬件只认2的幂。如果你不是他也会把你当作是最接近的那个幂。比如256

4

主题

9

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2007-12-3 15:30:00 | 显示全部楼层

Re:ID3DXSprite::Draw的问题

大哥 那要怎么解决呢 我纹理数据是在内存生成的

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-12-4 10:50:00 | 显示全部楼层

Re:ID3DXSprite::Draw的问题

你生成就让他生成成2的幂不行啊。既然是你生成的那就更没有问题了。如果不够的像素你可以用黑色或者白色填充。或者用透明这样出来就不显示。或者过滤掉你的填充色
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 19:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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