'use strict' exports.uniforms = runtimeUniforms exports.attributes = runtimeAttributes var GL_TO_GLSL_TYPES = { 'FLOAT': 'float', 'FLOAT_VEC2': 'vec2', 'FLOAT_VEC3': 'vec3', 'FLOAT_VEC4': 'vec4', 'INT': 'int', 'INT_VEC2': 'ivec2', 'INT_VEC3': 'ivec3', 'INT_VEC4': 'ivec4', 'BOOL': 'bool', 'BOOL_VEC2': 'bvec2', 'BOOL_VEC3': 'bvec3', 'BOOL_VEC4': 'bvec4', 'FLOAT_MAT2': 'mat2', 'FLOAT_MAT3': 'mat3', 'FLOAT_MAT4': 'mat4', 'SAMPLER_2D': 'sampler2D', 'SAMPLER_CUBE':'samplerCube' } var GL_TABLE = null function getType(gl, type) { if(!GL_TABLE) { var typeNames = Object.keys(GL_TO_GLSL_TYPES) GL_TABLE = {} for(var i=0; i 1) { for(var j=0; j