If you are familiar with the raytracer pov-ray (
http://www.povray.org) I'd use that. If it is just a one time project and you need quick and dirty marble, you can do it in photoshop fairly easily.
1. Create a new document with a black background a little bit larger than what you will need. Go to the paths tab and using the pen, draw a few crack-like paths. These will eventually be the light colored portion of your marble pattern, so try and make them random but spread out enough.
You should draw (at least) 2 main types, long ones that stretch across the document (maybe 3 - 7 of these), and smaller ones that may be discontinuous, may connect larger ones, or may have only one end touching a larger one (for the forked look). It is easier to put the smaller ones in a separate path, but not required.
2. In two new layers, stroke your paths in white using the paintbrush tool. Use different brush sizes for each layer. A larger, softer brush should be used for the main cracks in one layer, and a smaller, pencil sized (1px diameter hard) in the other layer for the all of the cracks (including the smaller ones). Make duplicates of both and put them in a hidden layer set (so you won't have to restroke the paths if you need to go back steps). Move your thinner crack layer(s) to the top. You should now have something somewhat similar to the first included image.
3. Apply the wind filter to the larger crack layer 2 or so times. I used the wind setting (stagger distorts too much). Rotate the canvas 90 degrees and apply the wind filter at the lowest setting once. Rotate the canvas back to what you had it before.
Apply the wind filter to the small crack layer 2 times or less. Rotating and applying it is optional. You should now have something somewhat similar to the second included image.
4. Make duplicates of those layers too ( so it is easier to go back), and begin blurring the large crack layer. I made a duplicate and applied a motion blur or 45 degrees, 5 or so pixels, then gaussian blurred a copy of the whole thing at about 7 pixels. Duplicated the blurred layer, and blur it again at about 14pixels, but cut the opacity by about 25% - 30%. Repeat that a few times, and adjust the brightness/contrast so it doesn't dissappear too much.
The small crack layer should undergo a similar process, but insted of motion blur your may want to use a low level ripple to add randomness. After doing that, I made a duplicate layer and put 150% noise into the mask, then blurred the layer at 1 pixel.
5. From here on out you really have to play with the blurring, distortion, and any other filters you think would help. Play with your layers, keeping at least one thin crack layer at the top relatively unaffected. After a bit you should have something looking like marble. I made a new layer directly above the background, applied the clouds filter in black and white, and cut the opacity down to about 10% to add some texture to the black part. Adding monochromatic noise at about 2% helps too.
6. Ultimately, it will begin to look marblish but will take you a few tries. You may even want to consider starting with 3 levels of cracks at higher resolution, then scaling it... The more cracks the better, and the more different levels of cracks, the better (but takes much longer).
I am enclosing a few images that demonstrate this (my second try for the technique, and not too much time spent on it either)
HTH