游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2007|回复: 5

急!!directX纹理创建

[复制链接]

7

主题

299

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
发表于 2006-3-30 23:57:00 | 显示全部楼层 |阅读模式
创建directX纹理的时候是否有些长宽数值并不能任意生成??

例如D3DXCreateTexture(device,96,32,D3DX_DEFAULT,
                0,D3DFMT_X8R8G8B8,D3DPOOL_MANAGED,&m_d3dTexture )

例如想要生成一个96*32的纹理,不过其实调用完后实际生成了一个128*32的纹理

用GetLevelDesc函数可以查看生成后的纹理长宽。

7

主题

299

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
 楼主| 发表于 2006-3-31 00:04:00 | 显示全部楼层

Re:急!!directX纹理创建

看来如果我们要手动生成一个纹理一定要创建规则长宽一点的纹理

其实我也不愿意生成例如像192*240这样怪怪的纹理,可是要从文件里头

倒色彩数据进去也没办法

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-3-31 10:05:00 | 显示全部楼层

Re:急!!directX纹理创建

这里讲的很清楚
http://www.dingge.com/forum/dispbbs.asp?boardID=46&ID=6949&page=1

7

主题

299

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
 楼主| 发表于 2006-3-31 10:28:00 | 显示全部楼层

Re:急!!directX纹理创建

谢谢!但是我还要用到filter

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-3-31 13:03:00 | 显示全部楼层

Re: 急!!directX纹理创建

这是不同硬件对DirectX支持的情况不同造成的。
有的硬件可以创建不规则(长宽不是2的N次幂)大小的纹理,有的就不行。
程序如下:
D3DCAPS9 d3dCaps;
pd3dDevice->GetDeviceCaps( &d3dCaps );
if( d3dCaps.TextureCaps & D3DPTEXTURECAPS_POW2 )
{
  //创建纹理的大小最终会成2的N次幂
}

7

主题

299

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
 楼主| 发表于 2006-3-31 15:15:00 | 显示全部楼层

Re: Re: 急!!directX纹理创建

九天九地: Re: 急!!directX纹理创建

这是不同硬件对DirectX支持的情况不同造成的。
有的硬件可以创建不规则(长宽不是2的N次幂)大小的纹理,有...

哦,是这样。。。。

我的显卡可以创建长宽不是2的N次幂的纹理,不过如果太不规则

directX就会自动调整
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 01:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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