Stitches a set of block textures together into a texture atlas
For an example, run
npm start or try the live demo.
Arbitrary rects vs fixed arrays
Load using voxel-plugins, options:
artpacks: Array of resource pack URL(s) to load for textures, defaults to ProgrammerArt.
atlasSize: Texture atlas width and height, in pixels. Note not all graphics cards support all texture dimensions, but WebGL stats shows
MAX_TEXTURE_SIZEof 2048 or smaller is supported by 100% of WebGL users.
debug: If true, writes out each mip level to the document for debugging.
this.atlasfrom all block
textureproperties in voxel-registry.
createGLTexture(gl, cb): Creates a gl-texture2d with the GL context, calls
cb(err, tex)when complete, comparable to gl-tile-map.
nameto the list of textures to load in
stitch(). Textures listed in the voxel-registry
textureproperty are automatically loaded; you can add additional textures for custom non-voxel use here.
getTextureUV(name): Get UV coordinates for a texture (without padding), for custom usage with
Events (voxel-stitch is an EventEmitter and emits the following):
added: Added one texture to the atlas.
addedAll: All of the textures in
updateTexture: All textures were added and
voxelSideTextureIDshas been populated.
atlas: The atlaspack instance.
texture: The gl-texture2d instance.
voxelSideTextureIDs: ndarray of (blockIndex,side) to texture ID, for ao-mesher or voxel-mesher.
voxelSideTextureSizes: ndarray of (blockIndex,side) to lg(texture size), for voxel-mesher.