Skip to content
Tiled mip map generator for texture atlases
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
example
.gitignore
.npmignore
LICENSE
README.md
mipmap.js
package.json

README.md

tile-mip-map

Mip map generator for tiled texture atlases.

Example

var fs = require("fs")
var ndarray = require("ndarray")
var savePixels = require("save-pixels")

require("get-pixels")("./painterly.png", function(err, image) {

  //Cut 256x256x4 array into 16x16 tiles of width 16x16x4
  var tilemap = ndarray(image.data,
    [16, 16, 16, 16, 4],
    [16*16*16*4, 16*4, 16*16*4, 4, 1],
    0)

  //Compute mip pyramid
  var mipmap = require("tile-mip-map")(tilemap)

  //Save levels to images
  for(var i=0; i<mipmap.length; ++i) {
    var s = mipmap[i].shape
    var x = ndarray(mipmap[i].data, [s[0]*s[2], s[1]*s[3], s[4]])
    savePixels(x, "png").pipe(fs.createWriteStream(i + ".png"))
  }
})

Here is what the different mip levels look like:

0:

1:

2:

3:

4:

Install

npm install tile-mip-map

require("tile-mip-map")(tilemap[, pad])

Constructs a mip pyramid for the given tile map

  • tilemap is a 5d array where the first two dimenions are the number of tiles, the next two are the width of each tile, and the last dimension is the number of channels.
  • pad the number of times to pad each tile by. default 1x

Returns A list of mip pyramids.

Credits

(c) 2013 Mikola Lysenko. MIT License

Something went wrong with that request. Please try again.