Erm. It IS possible to also reduce number of drawcalls by putting textures of those materials into atlas (not in the engine, but in general/in theory). Also, if material structure is identical, and only input parameters are different, it may be possible to convert several different input materials into one. I believe using texture atlases were recommended even back when DirectX 9 performance guidelines were written.