I am migrating my code to v3. CCGLProgram is renamed to CCShader, but I can't see the counterpart to this:
[[CCGLProgram alloc] initWithVertexShaderFilename:@"default.vsh" fragmentShaderFilename:@"vBlur.fsh"];
There is only one constructor [CCShader shaderNamed: ""] but it cannot specify the different names for vertex shader / fragment shader. There is [CCShader alloc] initWithVertex..Shader.. but it only accepts shader codes, which are not cached.