As I think about moving forward with photo-realistic work trees pop into mind. They are big and complex in nature. Luckily there are some tools in Blender that help make trees within a defined set of parameters that you can change to get the shape you want.
The saplings add on lets you create a near inifinite variation of trees with leaves but it only gets you so far. The output after tweaking through the hundreds of options you can change is a set of curves for branches with square or hexagonal leaves.
From here it is all about modifiers and textures. After finding out a seamless bark texture and a few photos of leaves I soon created bump maps, translucency overlays and alpha masks in photoshop. Back in Blender these are then imported into the cycles engine as textures and set up through a complex set of nodes to apply textures in the correct direction based on the geometry of the model at any given point and then to make it look as realistic as it can.
After making one I started on a second one so I had a couple of trees on file for any future compositions that need a few varying trees.