void ShaderManager<RS>::init() { //construct safe default shader VertexShader<RS>* dv = 0; FragmentShader<RS>* df = 0; dv = new VertexShader<RS>(); df = new FragmentShader<RS>(); Vertex def; def.addVector3("POSITION"); def.finalize(); dv->associateVertex(def); if(RS == RS_DX11) { dv->initFromDef(Defaults::shaderDefDX, Defaults::vertexFunc); df->initFromDef(Defaults::shaderDefDX, Defaults::fragmentFunc); } else { dv->initFromDef(Defaults::shaderDefGL, Defaults::vertexFunc); df->initFromDef(Defaults::shaderDefGL, Defaults::fragmentFunc); } vShaders[Defaults::mapName][Defaults::mapName] = dv; fShaders[Defaults::mapName][Defaults::mapName] = df; }