atlaspack block textures from voxel-registry
npm install voxel-stitchStitches 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.
(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.)
* 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_SIZE of 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(): Build this.atlas from all block texture properties 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.
* preloadTexture(name): Adds name to the list of textures to load in stitch().
Textures listed in the voxel-registry texture property 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 this.texture
Events (voxel-stitch is an EventEmitter and emits the following):
* added: Added one texture to the atlas.
* addedAll: All of the textures in stitch() were added.
* updateTexture: All textures were added and voxelSideTextureIDs has 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.
MIT