游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5105|回复: 17

[DX9]关于非2的次幂纹理

[复制链接]

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
发表于 2013-3-12 14:27:16 | 显示全部楼层 |阅读模式
本帖最后由 微无渊 于 2013-3-12 14:44 编辑

游戏里要渲染100张300×300尺寸的纹理,并且已知目标机器不支持非2的次幂纹理,
该如何实现?

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2013-3-12 15:44:54 | 显示全部楼层
硬件不支持不代表D3DXCreateTextureFromFile不能加载,D3DX可以在内部帮你补齐成2次幂尺寸。
不使用D3DXCreateTextureFromFile加载纹理,也可以自己写补齐。
但是,最好不要用,这样处理起来更简单。

31

主题

257

帖子

1752

积分

金牌会员

申城谍影

Rank: 6Rank: 6

积分
1752
QQ
发表于 2013-3-12 18:38:42 | 显示全部楼层
9张合到一张1024边长的纹理里。。。。。。。

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2013-3-12 18:57:02 | 显示全部楼层
本帖最后由 微无渊 于 2013-3-12 19:07 编辑
cndv3996 发表于 2013-3-12 18:38
9张合到一张1024边长的纹理里。。。。。。。

在1024×1024的区域内,找到一个可以容纳A×B的区域,以及删除,合并操作,很难实现.
这还没有考虑到最优的放法,即便是最优的组合,也会产生不可用的纹理空间.有点得不偿失.


50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2013-3-12 19:09:30 | 显示全部楼层
funcman 发表于 2013-3-12 15:44
硬件不支持不代表D3DXCreateTextureFromFile不能加载,D3DX可以在内部帮你补齐成2次幂尺寸。
不使用D3DXCre ...

据我所知,只有D3DXCreateTextureFromFileEx()这一个函数能够无视显卡,做到非2的次幂存储,
但是,实际往往用不到这个函数,因为没有人会把图片裸露的放到磁盘上.

所以,还是无解.

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2013-3-14 15:06:46 | 显示全部楼层
微无渊 发表于 2013-3-12 19:09
据我所知,只有D3DXCreateTextureFromFileEx()这一个函数能够无视显卡,做到非2的次幂存储,
但是,实际往往 ...

不说了么,自己补齐嘛~

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2013-3-14 19:46:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2013-3-15 14:45:48 | 显示全部楼层
funcman 发表于 2013-3-14 15:06
不说了么,自己补齐嘛~

弹何容易.

11

主题

1238

帖子

1782

积分

金牌会员

Rank: 6Rank: 6

积分
1782
发表于 2013-3-15 17:44:00 | 显示全部楼层
这问题搞了多少年了啊?

23

主题

515

帖子

552

积分

高级会员

Rank: 4

积分
552
发表于 2013-4-8 23:00:00 | 显示全部楼层
微无渊 发表于 2013-3-12 18:57
在1024×1024的区域内,找到一个可以容纳A×B的区域,以及删除,合并操作,很难实现.
这还没有考虑到最优的放 ...

找个简单算法其实并不算很困难。或者可以让美术先帮着和好。
否则你就创建512 x 512不就完了???????????
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-26 23:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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