LibGDX工具使用之TexturePacker

在OpenGL中,纹理是不断被创建然后绘制,绑定纹理是相对昂贵的,所以将许多小图像统一存储在一张较大的图片上一次性绑定纹理,然后多次绘制它的一小部分。 libgdx有一个TexturePacker类,它是一个命令行应用程序,将许多较小的图像包装到较大的图像上。 它存储较小图像的位置,以便您可以使用TextureAtlas类在应用程序中轻松引用名称。
TexturePacker使用多个打包算法,但最重要的是基于最大矩形算法,然后选择最有效的结果。

Running TexturePacker

如果你更喜欢使用图形界面工具打包资源,请下载这个工具
TexturePacker类在gdx-tools项目中, 它可以通过Eclipse运行:

import com.badlogic.gdx.tools.texturepacker.TexturePacker;
public class MyPacker {
    public static void main (String[] args) throws Exception {
        TexturePacker.process(inputDir, outputDir, packFileName);
    }
}

如果你使用Gradle构建,但是无法找到TexturePacker 类,请向你的 build.gradle中添加gdx-tools依赖支持.

如果对Gradle文件进行以下更新,也可以将texturePacker作为一个gradle任务运行。 首先,你需要更新你的build.gradle:

buildscript {
  dependencies {
    // ... other dependencies trimmed ...
    classpath "com.badlogicgames.gdx:gdx-tools:$gdxVersion"
    }
}

如果您想使用特定的版本,只需将$ gdxVersion变量替换为您选择的版本即可

// Store the parameters you want to pass the texturePacker here...
project.ext.texturePacker = [ "android/assets/input/path/", "android/assets/output/path/", "atlas_name" ]

// Import the texture packer
import com.badlogic.gdx.tools.texturepacker.TexturePacker

// Add a new task that packs the textures for you
task texturePacker << {
  if (project.ext.has('texturePacker')) {
    logger.info "Calling TexturePacker: "+texturePacker
    TexturePacker.process(texturePacker[0], texturePacker[1], texturePacker[2])
  }
}

TexturePacker可以一次打包一个应用程序的所有图像。 给定一个目录,它递归地扫描图像文件。 对于TexturePacker遇到的每个图像目录,它将图像统一打包成更大的纹理,称为页面(Page)。 如果目录中的图像在单个页面无法容纳下所有图像,则将使用多个页面(Page)。
最终,所有的图像将在一个或者多个Page页面上几种展现。如果所有图像都放在一个页面上,则不应该使用子目录,因为只有一个页面,应用程序将只执行一次纹理绑定,否则,可以使用子目录分隔相关图像进行纹理绑定。例如,应用程序可能希望将所有与游戏有关的图像放置在与菜单图像不同的目录中,这样单独涉及到菜单纹理的页面就无须加载跟游戏有关的纹理图像。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,403评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,958评论 6 342
  • 那是七月里的某一天,学生们正准备着参加期末大考,又想着即将到来的快活暑期,紧张又热烈的味道在空气里徘徊。小爱懒洋洋...
    April的秘密花园阅读 438评论 0 1
  • 远处蔚蓝天空下, 涌动着金色的麦浪. 正值秋季,微风拂面,田野间稻穗随风起舞。收获的季节,也是农民满怀欢喜的日子。...
    tomi宝宝阅读 414评论 2 3