In both V2 and V3, there are two things you need, to set the render resolution
1) enter the values into the orthogonal projection matrix
2) set the openGL viewport
In both V2 and V3, where this happens, is in
Where you need to change the code, is in the regular CCDirector, where you have to modify setView
In V3, I added this code
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
// for phones, double the resolution
size.width *= 2.0;
size.height *= 2.0;
scale *= 0.5;
In line 384.
Something similar will have to be done in V2, but I have not tested that.
The result is, that iPhone5+6 now returns 1136 * 640 * 1, and will start using default iPad resources. iPhone6+ will return 1136 * 640 * 1.5, and you can just force it to use iPad retina assets, which will them be scaled slightly down.
So you end up with two sets of assets.
1) size 1, used for all iphones except 6+, and non retina iPads
2) size 2, used for 6+, and retina ipads
Default, only problem is, that iPad Pro will use iPad retina assets, and scale them up slightly, but I haven't had time to look into that yet.