void GLProgramCache::reloadDefaultGLProgramsRelativeToLights() { GLProgram *p = getGLProgram(GLProgram::SHADER_3D_POSITION_NORMAL); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionNormal); p = getGLProgram(GLProgram::SHADER_3D_POSITION_NORMAL_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionNormalTex); p = getGLProgram(GLProgram::SHADER_3D_SKINPOSITION_NORMAL_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionNormalTex); }
void ShaderManager::loadGLPrograms(){ cocos2d::GLProgram *p = new (std::nothrow) cocos2d::GLProgram(); loadDefaultGLProgram(p, ShaderType::kShaderType_PositionTextureColorETC1); cocos2d::GLProgramCache::getInstance()->addGLProgram(p, cocos2d::GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_ETC1); p = new (std::nothrow) cocos2d::GLProgram(); loadDefaultGLProgram(p, ShaderType::kShaderType_PositionTextureColorETC1_GrayScale); cocos2d::GLProgramCache::getInstance()->addGLProgram(p, cocos2d::GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_ETC1_GRAY_SCALE); p = new (std::nothrow) cocos2d::GLProgram(); loadDefaultGLProgram(p, ShaderType::kShaderType_PositionTextureColorETC1_NO_MVP); cocos2d::GLProgramCache::getInstance()->addGLProgram(p, cocos2d::GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_ETC1_NO_MVP); p = new (std::nothrow) cocos2d::GLProgram(); loadDefaultGLProgram(p, ShaderType::kShaderType_Scrub); cocos2d::GLProgramCache::getInstance()->addGLProgram(p, cocos2d::GLProgram::SHADER_NAME_SCRUB); p = new (std::nothrow) cocos2d::GLProgram(); loadDefaultGLProgram(p, ShaderType::kShaderType_Scrub_ETC1); cocos2d::GLProgramCache::getInstance()->addGLProgram(p, cocos2d::GLProgram::SHADER_NAME_SCRUB_ETC1); }
void GLProgramCache::reloadDefaultGLPrograms() { // reset all programs and reload them // Position Texture Color shader GLProgram *p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor); // Position Texture Color without MVP shader p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor_noMVP); // Position Texture Color alpha test p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTest); // Position Texture Color alpha test p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST_NO_MV); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTestNoMV); // // Position, Color shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionColor); // Position, Color, PointSize shader p = getGLProgram(GLProgram::SHADER_NAME_POSITION_COLOR_TEXASPOINTSIZE); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionColorTextureAsPointsize); // // Position, Color shader no MVP // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_COLOR_NO_MVP); loadDefaultGLProgram(p, kShaderType_PositionColor_noMVP); // // Position Texture shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTexture); // // Position, Texture attribs, 1 Color as uniform shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_U_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTexture_uColor); // // Position Texture A8 Color shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_A8_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureA8Color); // // Position and 1 color passed as a uniform (to simulate glColor4ub ) // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_U_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_Position_uColor); // // Position, Legth(TexCoords, Color (used by Draw Node basically ) // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_LENGTH_TEXTURE_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionLengthTexureColor); p = getGLProgram(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_NORMAL); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldNormal); p = getGLProgram(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_GLOW); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldGlow); p = getGLProgram(GLProgram::SHADER_NAME_LABEL_NORMAL); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelNormal); p = getGLProgram(GLProgram::SHADER_NAME_LABEL_OUTLINE); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelOutline); p = getGLProgram(GLProgram::SHADER_3D_POSITION); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPosition); p = getGLProgram(GLProgram::SHADER_3D_POSITION_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionTex); p = getGLProgram(GLProgram::SHADER_3D_SKINPOSITION_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionTex); p = getGLProgram(GLProgram::SHADER_3D_POSITION_NORMAL); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionNormal); p = getGLProgram(GLProgram::SHADER_3D_POSITION_NORMAL_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionNormalTex); p = getGLProgram(GLProgram::SHADER_3D_SKINPOSITION_NORMAL_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionNormalTex); p = getGLProgram(GLProgram::SHADER_3D_PARTICLE_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DParticleTex); p = getGLProgram(GLProgram::SHADER_3D_PARTICLE_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_3DParticleColor); p = getGLProgram(GLProgram::SHADER_3D_SKYBOX); p->reset(); loadDefaultGLProgram(p, kShaderType_3DSkyBox); p = getGLProgram(GLProgram::SHADER_3D_TERRAIN); p->reset(); loadDefaultGLProgram(p, kShaderType_3DTerrain); p = getGLProgram(GLProgram::SHADER_CAMERA_CLEAR); p->reset(); loadDefaultGLProgram(p, kShaderType_CameraClear); }
void GLProgramCache::loadDefaultGLPrograms() { // Position Texture Color shader GLProgram *p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR, p ) ); // Position Texture Color without MVP shader p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor_noMVP); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP, p ) ); // Position Texture Color alpha test p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTest); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST, p) ); // Position Texture Color alpha test p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTestNoMV); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST_NO_MV, p) ); // // Position, Color shader // p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_COLOR, p) ); // Position, Color, PointSize shader p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionColorTextureAsPointsize); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_COLOR_TEXASPOINTSIZE, p) ); // // Position, Color shader no MVP // p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionColor_noMVP); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_COLOR_NO_MVP, p) ); // // Position Texture shader // p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTexture); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE, p) ); // // Position, Texture attribs, 1 Color as uniform shader // p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTexture_uColor); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_U_COLOR, p) ); // // Position Texture A8 Color shader // p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureA8Color); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_A8_COLOR, p) ); // // Position and 1 color passed as a uniform (to simulate glColor4ub ) // p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_Position_uColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_U_COLOR, p) ); // // Position, Legth(TexCoords, Color (used by Draw Node basically ) // p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionLengthTexureColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_LENGTH_TEXTURE_COLOR, p) ); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldNormal); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_NORMAL, p) ); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldGlow); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_GLOW, p) ); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_UIGrayScale); _programs.insert(std::make_pair(GLProgram::SHADER_NAME_POSITION_GRAYSCALE, p)); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelNormal); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_NORMAL, p) ); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelOutline); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_OUTLINE, p) ); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPosition); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION, p) ); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPositionTex); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION_TEXTURE, p) ); p = new (std::nothrow) GLProgram(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionTex); _programs.insert(std::make_pair(GLProgram::SHADER_3D_SKINPOSITION_TEXTURE, p)); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPositionNormal); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION_NORMAL, p) ); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPositionNormalTex); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION_NORMAL_TEXTURE, p) ); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionNormalTex); _programs.insert(std::make_pair(GLProgram::SHADER_3D_SKINPOSITION_NORMAL_TEXTURE, p)); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DParticleColor); _programs.insert(std::make_pair(GLProgram::SHADER_3D_PARTICLE_COLOR, p)); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DParticleTex); _programs.insert(std::make_pair(GLProgram::SHADER_3D_PARTICLE_TEXTURE, p)); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DSkyBox); _programs.insert(std::make_pair(GLProgram::SHADER_3D_SKYBOX, p)); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DTerrain); _programs.insert(std::make_pair(GLProgram::SHADER_3D_TERRAIN, p)); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_CameraClear); _programs.insert(std::make_pair(GLProgram::SHADER_CAMERA_CLEAR, p)); }
void GLProgramCache::loadDefaultGLPrograms() { // Position Texture Color shader GLProgram *p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR, p ) ); // Position Texture Color without MVP shader p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor_noMVP); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP, p ) ); // Position Texture Color alpha test p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTest); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST, p) ); // Position Texture Color alpha test p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTestNoMV); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST_NO_MV, p) ); // // Position, Color shader // p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_COLOR, p) ); // // Position, Color shader no MVP // p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionColor_noMVP); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_COLOR_NO_MVP, p) ); // // Position Texture shader // p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTexture); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE, p) ); // // Position, Texture attribs, 1 Color as uniform shader // p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTexture_uColor); _programs.insert( std::make_pair( GLProgram::SHADER_NAME_POSITION_TEXTURE_U_COLOR, p) ); // // Position Texture A8 Color shader // p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionTextureA8Color); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_TEXTURE_A8_COLOR, p) ); // // Position and 1 color passed as a uniform (to simulate glColor4ub ) // p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_Position_uColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_U_COLOR, p) ); // // Position, Legth(TexCoords, Color (used by Draw Node basically ) // p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_PositionLengthTexureColor); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_POSITION_LENGTH_TEXTURE_COLOR, p) ); // p = new GLProgram(); // loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldNormal); // _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_NORMAL, p) ); // p = new GLProgram(); // loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldGlow); // _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_GLOW, p) ); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelNormal); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_NORMAL, p) ); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_LabelOutline); _programs.insert( std::make_pair(GLProgram::SHADER_NAME_LABEL_OUTLINE, p) ); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPosition); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION, p) ); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DPositionTex); _programs.insert( std::make_pair(GLProgram::SHADER_3D_POSITION_TEXTURE, p) ); p = new GLProgram(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionTex); _programs.insert(std::make_pair(GLProgram::SHADER_3D_SKINPOSITION_TEXTURE, p)); }
void GLProgramCache::reloadDefaultGLPrograms() { // reset all programs and reload them // Position Texture Color shader GLProgram *p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor); // Position Texture Color without MVP shader p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColor_noMVP); // Position Texture Color alpha test p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTest); // Position Texture Color alpha test p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_ALPHA_TEST_NO_MV); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureColorAlphaTestNoMV); // // Position, Color shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionColor); // // Position, Color shader no MVP // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_COLOR_NO_MVP); loadDefaultGLProgram(p, kShaderType_PositionColor_noMVP); // // Position Texture shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTexture); // // Position, Texture attribs, 1 Color as uniform shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_U_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTexture_uColor); // // Position Texture A8 Color shader // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_A8_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionTextureA8Color); // // Position and 1 color passed as a uniform (to simulate glColor4ub ) // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_U_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_Position_uColor); // // Position, Legth(TexCoords, Color (used by Draw Node basically ) // p = getGLProgram(GLProgram::SHADER_NAME_POSITION_LENGTH_TEXTURE_COLOR); p->reset(); loadDefaultGLProgram(p, kShaderType_PositionLengthTexureColor); #if CC_TARGET_PLATFORM != CC_PLATFORM_WP8 p = getGLProgram(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_NORMAL); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldNormal); p = getGLProgram(GLProgram::SHADER_NAME_LABEL_DISTANCEFIELD_GLOW); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelDistanceFieldGlow); #endif p = getGLProgram(GLProgram::SHADER_NAME_LABEL_NORMAL); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelNormal); p = getGLProgram(GLProgram::SHADER_NAME_LABEL_OUTLINE); p->reset(); loadDefaultGLProgram(p, kShaderType_LabelOutline); p = getGLProgram(GLProgram::SHADER_3D_POSITION); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPosition); p = getGLProgram(GLProgram::SHADER_3D_POSITION_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionTex); p = getGLProgram(GLProgram::SHADER_3D_SKINPOSITION_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionTex); p = getGLProgram(GLProgram::SHADER_3D_POSITION_NORMAL); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionNormal); p = getGLProgram(GLProgram::SHADER_3D_POSITION_NORMAL_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DPositionNormalTex); p = getGLProgram(GLProgram::SHADER_3D_SKINPOSITION_NORMAL_TEXTURE); p->reset(); loadDefaultGLProgram(p, kShaderType_3DSkinPositionNormalTex); }