API Docs for: 0.2.0
Show:

File: src\shaders\ShaderLib.js

/**
 * A static class that stores all the shaders in one place
 *
 * @class ShaderLib
 * @static
 */
LE.ShaderLib = {
	/**
	 * @private
	 * @property POINT_LIGHT_FRAG
	 * @type String
	 * @static
	 * @final
	 */
	POINT_LIGHT_FRAG: 
		"precision mediump float;" +
		"uniform vec2 lightLocation;" +
		"uniform vec3 lightColor;" +
		"void main() {" +
			"float distance = length(lightLocation - gl_FragCoord.xy);" +
			"float attenuation = 1.0 / distance;" +
			"vec4 color = vec4(attenuation, attenuation, attenuation, pow(attenuation, 3.0)) * vec4(lightColor, 1);" +
			"gl_FragColor = color;" +
		"}",
	/**
	 * @private
	 * @property POINT_LIGHT_FRAG2
	 * @type String
	 * @static
	 * @final
	 */
	POINT_LIGHT_FRAG2:
		"precision mediump float;" +
		"uniform vec2 lightLocation;" +
		"uniform vec3 lightColor;" +
		"void main() {" +
			"float distance = length(lightLocation - gl_FragCoord.xy);" +
			"float attenuation = 1.0 / (1.0 + 0.1*distance + 0.01*distance*distance);" +
			"vec4 color = vec4(attenuation, attenuation, attenuation, pow(attenuation, 3.0)) * vec4(lightColor, 1);" +
			"gl_FragColor = color;" +
		"}",
	/**
	 * @private
	 * @property MAIN_VERT
	 * @type String
	 * @static
	 * @final
	 */
	MAIN_VERT:
		"attribute vec3 aVertexPosition;" +
		"attribute vec4 aVertexColor;" +
		"uniform mat4 uMVMatrix;" +
		"uniform mat4 uPMatrix;" +
		"varying vec4 vColor;" +
		"void main(void) {" +
			"gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);" +
			"vColor = aVertexColor;" +
		"}",
	/**
	 * @private
	 * @property RADIAL_LIGHT_FRAG
	 * @type String
	 * @static
	 * @final
	 */
	RADIAL_LIGHT_FRAG: 
		"precision mediump float;" +
		"uniform vec2 lightLocation;" +
		"uniform vec3 lightColor;" +
		"uniform float radius;" +
		"void main() {" +
			"float distance  = length( lightLocation - gl_FragCoord.xy );" +
	    	"float intensity = 1.0 - min( distance, radius ) / radius;" +
	    	"gl_FragColor = vec4(intensity, intensity, intensity, 0.1) * vec4(lightColor.r / 10.0, lightColor.g / 10.0, lightColor.b / 10.0, 1);" +
		"}",
	/**
	 * @private
	 * @property COLOUR_FRAG
	 * @type String
	 * @static
	 * @final
	 */
	COLOUR_FRAG: 
		"precision mediump float;" +
		"uniform vec4 ambientLight;" +
		"varying vec4 vColor;" +
		"void main(void) {" +
			"gl_FragColor = ambientLight * vColor;" +
		"}",
	/**
	 * @private
	 * @property TEXTURE_FRAG
	 * @type String
	 * @static
	 * @final
	 */
	TEXTURE_FRAG:
		"precision mediump float;" +
		"varying vec2 vTextureCoord;" +
		"uniform vec4 ambientLight;" +
		"uniform sampler2D uSampler;" +
		"void main(void) {" +
			"gl_FragColor = ambientLight * texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));" +
		"}",
	/**
	 * @private
	 * @property TEXTURE_VERT
	 * @type String
	 * @static
	 * @final
	 */
	TEXTURE_VERT: 
		"attribute vec3 aVertexPosition;" +
	  	"attribute vec2 aTextureCoord;" +
		"uniform mat4 uMVMatrix;" +
		"uniform mat4 uPMatrix;" +
		"varying vec2 vTextureCoord;" +
		"void main(void) {" +
			"gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);" +
			"vTextureCoord = aTextureCoord;" +
		"}"
};