Yeah Rage is spot on.
You need to plan what your going to do step by step and set up a workflow. In a nutshell I would do the following
Set up a camera to match the camera that took the pic.
Roughly model the rocks in the pic
use the background shader and project the image onto the geo and adjust if needed so it fits.
Model the rock you want.
Paint a texture for the rock either based on the original cameras projection or multiple projections, bake the projections into the file node
Duplicate it and break it up using the shatter script bake the projections into the bits, you might have to do some more texturing on the bits.
Light to match the original photo.
Key the visibility of the full and the broken bits, then add dynamics at the point you want it to break up.
once its all going how you like, render the rock in layers, comp in post adding any other bits you need.
Theres lots and lots of steps in between but if you knock a low res previs up you can apply the same principles.
"No pressure, no diamonds" Thomas Carlyle