Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    tile-mip-mappublic

    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

    Keywords

    none

    install

    npm i tile-mip-map

    Downloadsweekly downloads

    18

    version

    0.2.1

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar