tile-mip-map

0.2.1 • Public • Published

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(+ ".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

Dependencies (3)

Dev Dependencies (4)

Package Sidebar

Install

npm i tile-mip-map

Weekly Downloads

2

Version

0.2.1

License

MIT

Last publish

Collaborators

  • mikolalysenko