Why would a laser driver need to take take "step and direction commands" ? Isn't that just needed for your stepper motor drivers?
Because in doing so it's very easy to burn a grey scale image. You can rasterize a grey scale image and plot the "depth" (if using z-axis, or any other axis if not) based on how dark a particular pixel is. By doing so the gcode will be a little bit like a bump map, but the result is being able to burn out an almost perfect grey scale representation of an image with incredible accuracy.
Here's an example of an image burned into poplar, not my work obviously, just someone using the exact same technique.