avatar
Skinnable avatar player model for voxel games

This module is similar to @maxogden's minecraft-skin,
but instead of using three.js, it uses gl-modules.
Returns a gl-vao object
containing the vertices and UV coordinates for the player model,
for use with the provided vertex and fragment shaders.
For an example, run npm start
or check out the live demo.
Try dragging a skin image file from your hard disk onto the demo to change the textures.
The included example uses @substack's skin:

Here's how the avatar looks when using changing it to
, @maxogden skin:

Or the classic "Steve" skin from Minecraft (not included):

Skin formats
Currently supported:
- Minecraft 1.7 and earlier (64x32) skin format
- Minecraft 1.8 (64x64) skin format
- High-resolution multiples of 64x32 or 64x32 (examples)
(Minecraft is property of Mojang Specifications).
Uniforms
mat4 projectionMatrix, modelViewMatrix
: the usual transformation matricessampler2D skin
: skin texture, should be in one of the above supported formats (for example from a gl-texture2d)float rArmRotateX
: right arm rotation X (radians)float lArmRotateX
: left arm rotation X (radians)float rLegRotateX
: right leg rotation X (radians)float lLegRotateX
: left leg rotation X (radians)
Example of setting the rotation uniforms:

License
MIT