Optimise silhouette rendering.
Do some intersection tests on the CPU so that the silhouette render passes only have to draw models/patches that might actually contribute to silhouettes, saving the CPU and GPU cost of rendering more objects than necessary.