Listing all gameObjects that have a renderer

Is there any way to create a list/array of all the gameObjects in the current scene that have a renderer? If not, do I first have to create a list of ALL objects, and then check each one for a renderer and put those in a seperate list?

You can use Object.FindObjectsOfType:

Renderer[] renderers = (Renderer[])Object.FindObjectsOfType(typeof(Renderer));

This call is expensive, and if possible should be used sparingly.