游戏开发论坛

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

D3D9的CreateTexture是不是对高宽有限制?

[复制链接]

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
发表于 2009-1-19 19:26:00 | 显示全部楼层 |阅读模式
我试着在我机器上创建宽度为4096的纹理,是成功的。
但是,换了一台稍微烂一点的机器,就失败了,但是宽度如果是2048就可以成功。
由于我要动态修改纹理的内容,对纹理的高宽也有所要求,因此无法接受D3DXCreateTexture自动调整高宽的行为。
那么是否2048就一定可以成功呢?

42

主题

115

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2009-1-19 20:09:00 | 显示全部楼层

Re: D3D9的CreateTexture是不是对高宽有限制?

纹理大小的限制和显卡有关吧,记得以前用opengl的时候还有专门用来获取这方面信息的函数

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
 楼主| 发表于 2009-1-19 20:24:00 | 显示全部楼层

Re:D3D9的CreateTexture是不是对高宽有限制?

那就不好办了。。。

不过试了很多台机器,2048都是可以成功创建的,就姑且认为2048一定可以成功了。。。

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-1-19 22:23:00 | 显示全部楼层

Re:D3D9的CreateTexture是不是对高宽有限制?

check D3DCAPS9 MaxTextureWidth and MaxTextureHeight;

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2009-1-21 15:48:00 | 显示全部楼层

Re:D3D9的CreateTexture是不是对高宽有限制?

no.2048不是一定可以成功的。

一定可以成功的只有256,128,64,32,16,8,4,2,1这些值。

3

主题

33

帖子

47

积分

注册会员

Rank: 2

积分
47
QQ
发表于 2009-1-22 12:46:00 | 显示全部楼层

Re:D3D9的CreateTexture是不是对高宽有限制?

D3D的贴图大小有限制,限于尺寸为2的N次方大小,也就是2,4,8,16,32,64,128,256,512,1024,2048如果需要更大也可以,但是如果是建立用于RenderTarget的贴图,限制为比缓冲区的尺寸大。不过新的显卡有时可以支持非2的N次方的贴图。

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2009-1-22 13:56:00 | 显示全部楼层

Re:D3D9的CreateTexture是不是对高宽有限制?

lz测了个啥卡啊连4096都不支持?都快2010年了,难不成还是mx千秋万代一统江湖??

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2009-1-22 20:16:00 | 显示全部楼层

Re:D3D9的CreateTexture是不是对高宽有限制?

与显卡支持有关,我那台式机2048....准备年中换机器。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-20 11:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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