TexturePacker

什么是TexturePacker

>TexturePacker这个词从字面来说就是Texture(纹理) + Packer(打包)。它是一款把若干资源图片拼接为一张大图的工具。它由一位叫做Andreas Loew的老外开发。他的推特帐号是@CodeAndWeb


为什么需要TexturePacker?

>回答这个问题之前,说说题外话。

如果你是游戏程序员,你应该知道openGL载入纹理图片的时候,所用内存是会自动扩张到2的n次方的。比如,如果你的资源素材是10×10px,载入后,将会按16×16规格载入图片。如果资源素材是64×65,那么就会按照64×128载入了。假设资源是RGBA8888的图片格式来算,(255,255,255,255)代表(r, g, b, a),一个点就使用了8位×4=32位。相当于4个byte。按刚才最后一种情况,你浪费的空间是64×(128-65)×4 /1024 = 15K,别说我的内存你无所谓。。。移动设备上的游戏,内存还是吃紧。理论上,如果每一张图的长宽都恰好是2的n次方数值,那很完美,没有任何浪费。但是,你懂的。所以我们需要把很多小图拼接到一张大图里,比如(2048×2048)然后到代码中取其所需。这样,浪费掉的空间就很小了。

OK,你说你不懂openGL,那你想想网页设计师前台制作css的时候,为了提高载入速度,往往把很多小图拼接成一张大图,一次载入,减少I/O,提高速度。这个好懂吧。

所以不管怎么样,“拼大图”这个流程不可少。

如此就面临一个问题:你用什么东西来做这个大图?

文艺青年说他用photoshop。。。这一点我就不评论了。我倒是希望谁尝试ps去拼一次图以后再回来博客里评论一下。这种做法不现实。

普通青年用Zwoptex。。。曾经,我也是一名普通青年,但是后来用的人多了,Zwoptex开始收费了。收费不要紧,你好歹留个功能限制免费版呀。

so, we choose the TexturePacker.


TexturePacker有毛优点咩?

>TexturePacker有windows版。不是所有人都有条件用水果。另外它似乎取消linux版本了(确实没有意义,我很鄙视拿个linux图形桌面跑出来装逼的)。

>TexturePacker有免费功能限制版。(你若要求不太高,TexturePacker够你用)

>TexturePacker支持pvr格式。

>TexturePacker支持命令行集成。

>TexturePacker的兄弟软件PhysicsEditor同样是很好的物理建模工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值