GLSL shaders for calculating/rendering Spherical Environment Maps, or "matcaps".
For more information, check out Creating a Spherical Reflection/Environment Mapping shader, which was used as a reference when writing this module and the demo.
Most of the images in the demo were sourced from this demo, though a couple I made myself.
You can import the module using glslify to get the bare function responsible for generating the texture coordinate to look up.
This function takes two arguments:
vec3 eye: the camera's current position.
vec3 normal: the surface's normal vector.
vec2 you can use on your
# matcap = require(matcap)uniform sampler2D texture; // the matcap texture you want to useuniform vec3 eyeVector;varying vec3 normalVector;void
If you're looking to get started a little more quickly, you can require matcap as a module from browserify.
The required function simply takes the current WebGL context, and returns a a GLSL program wrapped up in gl-shader-core.
You'll still need to take care of its uniforms and attributes though:
shadershaderattributesaPositionlocation = 0shaderattributesaNormallocation = 0shaderuniformsuTexture = textureIndexshaderuniformsuEye = eyeVectorshaderuniformsmView = viewMatrixshaderuniformsmModel = modelMatrixshaderuniformsmNormal = normalMatrixshaderuniformsmProjection = projectionMatrix
If you're looking for a full example, check out the demo!
MIT. See LICENSE.md for details.