小编M3r*_*lyn的帖子

具有多个纹理的VBO

你能用不同的纹理渲染每个四边形的VBO吗?现在,我读到了按纹理或纹理atlasses排序,但仍然没有回答我的问题.我正在进行一场2D比赛.现在我的动画精灵将为它们的帧和一个普通的地图创建一个纹理图集,并且所有这些都将共享相同的VBO(如果可能的话).所以每个精灵都会有一个atlass(一些动画可能有很多帧和姿势,可能会填充4096*4096纹理).那有可能吗?是还是不是.如果没有效率为每个精灵都有一个索引的VBO,其所有动画帧都具有所有纹理坐标,并且每帧只发送4个索引(对于单个动画帧)并更改每个VBO的纹理?编辑:其中一些可能正在移动(显然),有些可能不是.


在考虑之后我意识到内存使用也是一个问题.那些纹理atlasses会占用大量的内存.一个4096*4096 RGBA纹理需要64 MB,这是很多(而且没有法线贴图会使用量增加一倍).而且我认为我不能将这么多动画塞进一个类中.像暗黑破坏神这样的旧游戏,或者Infinity Engine上的游戏只需要几兆的VRAM,它们看起来非常好.

opengl 2d vbo

3
推荐指数
1
解决办法
4291
查看次数

标签 统计

2d ×1

opengl ×1

vbo ×1