voxel-stitch v1.0.1
voxel-stitch
Stitches a set of block textures together into a texture atlas
The texture names are looked up from voxel-registry and the texture data from artpacks.
For an example, run npm start or try the live demo.
Arbitrary rects vs fixed arrays
voxel-stitch uses atlaspack, which supports packing textures of arbitrary rectangular shapes onto a two-dimensional canvas. The mip maps are generated using rect-mip-map.
(Before version 0.3, voxel-stitch would generate a 5-dimensional ndarray is in a format suitable for gl-tile-map / tile-mip-map, which required fixed texture sizes.)
Usage
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 showsMAX_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.
Methods:
stitch(): Buildthis.atlasfrom all blocktextureproperties in voxel-registry.createGLTexture(gl, cb): Creates a gl-texture2d with the GL context, callscb(err, tex)when complete, comparable to gl-tile-map.preloadTexture(name): Addsnameto the list of textures to load institch(). Textures listed in the voxel-registrytextureproperty 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 withthis.texture
Events (voxel-stitch is an EventEmitter and emits the following):
added: Added one texture to the atlas.addedAll: All of the textures institch()were added.updateTexture: All textures were added andvoxelSideTextureIDshas been populated.
Variables:
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.
License
MIT
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago