游戏开发论坛

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

glBindTexture很耗CPU吗?

[复制链接]

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
发表于 2004-12-20 12:36:00 | 显示全部楼层 |阅读模式
我要绘制10000个面,其中有些面用纹理A,一些面用纹理B,有些面用到纹理C,还有些用到纹理D。记录是用哪纹理的数据存到一个10000单位的数组里。
这样每绘制一个面都要先从数组里读出该面使用哪个纹理,然后用glBindTexture切换纹理。
这样频繁调用glBindTexture切换纹理会不会明显降低绘制速度?

如果glBindTexture会很耗CPU时间的话,我就得用排序法把使用同一种纹理的面归到一起,这样排序又得花比较长时间。

希望高手指点,我该选择以上哪个开发方式。

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
发表于 2004-12-20 13:14:00 | 显示全部楼层

Re:glBindTexture很耗CPU吗?

不是主要看他是不是 Resident 的吗 ?
对于常用的 Texture 不是要变成 Resident 的吗 ?

初学 ! 谢谢 !
应该是 Resident 的影响比较大吧 ?

22

主题

274

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2004-12-20 13:25:00 | 显示全部楼层

Re:glBindTexture很耗CPU吗?

排序至少在渲染前可以做好,花多少时间也没关系.

我看最好把 ABCD 纹理拼接成一张纹理 ,然后对个顶点纹理坐标预处理到新的唯一的纹理,
这样基本上最快了.

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2004-12-20 17:02:00 | 显示全部楼层

Re:glBindTexture很耗CPU吗?

谢谢楼上两位的指点.不过我读的纹理文件映射名来自3DS文件,所以不好拼接纹理.

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-12-20 20:41:00 | 显示全部楼层

Re:glBindTexture很耗CPU吗?

可以学学D3D中组织Mesh的方法,就是把所有的Material(里面包括Texture)一样的Mesh放在一起画出来,这样只需要使用 N 次的glBindTexture,N是Material的数量。

78

主题

194

帖子

194

积分

注册会员

Rank: 2

积分
194
发表于 2004-12-21 17:10:00 | 显示全部楼层

Re:glBindTexture很耗CPU吗?

OGRE好像也是这么做的,尽可能的把所有Material相似的Mesh放在一起,这样可以减少切换,加快速度
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 19:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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