internal GLSLLinkProgramManager()
{
if ( instance == null )
{
instance = this;
}
typeEnumMap = new Dictionary<string, int>
{
{"float", Gl.GL_FLOAT},
{"vec2", Gl.GL_FLOAT_VEC2},
{"vec3", Gl.GL_FLOAT_VEC3},
{"vec4", Gl.GL_FLOAT_VEC4},
{"sampler1D", Gl.GL_SAMPLER_1D},
{"sampler2D", Gl.GL_SAMPLER_2D},
{"sampler3D", Gl.GL_SAMPLER_3D},
{"samplerCube", Gl.GL_SAMPLER_CUBE},
{"sampler1DShadow", Gl.GL_SAMPLER_1D_SHADOW},
{"sampler2DShadow", Gl.GL_SAMPLER_2D_SHADOW},
{"int", Gl.GL_INT},
{"ivec2", Gl.GL_INT_VEC2},
{"ivec3", Gl.GL_INT_VEC3},
{"ivec4", Gl.GL_INT_VEC4},
{"mat2", Gl.GL_FLOAT_MAT2},
{"mat3", Gl.GL_FLOAT_MAT3},
{"mat4", Gl.GL_FLOAT_MAT4},
// GL 2.1
{"mat2x2", Gl.GL_FLOAT_MAT2},
{"mat3x3", Gl.GL_FLOAT_MAT3},
{"mat4x4", Gl.GL_FLOAT_MAT4},
{"mat2x3", Gl.GL_FLOAT_MAT2x3},
{"mat3x2", Gl.GL_FLOAT_MAT3x2},
{"mat3x4", Gl.GL_FLOAT_MAT3x4},
{"mat4x3", Gl.GL_FLOAT_MAT4x3},
{"mat2x4", Gl.GL_FLOAT_MAT2x4},
{"mat4x2", Gl.GL_FLOAT_MAT4x2},
};
}