But this doesn't seem to affect 2d drawing methods like draw2DRectangle.
Is there a way to do the same thing for 2d, preferably without using render to texture?
Well, you should try the 2dmaterial from the video driver. Not sure if it already exists in 1.7, though. It's another override material, but only applied to 2d rendering.