1. A method of rendering volume data comprising an image having at least three dimensions to form a two-dimensional image comprising: using a ray-casting engine to form the two-dimensional image by computing rays extending from a camera location, through the two-dimensional image and into the volume, and carrying out integration along those rays; jittering the ray start position by up to one voxel in the direction of the ray in order to mitigate wood grain artifacts; arranging a space skipping logic to clip rays computed by the ray-casting engine; controlling the ray-casting engine such that integration is only performed along the clipped rays; arranging the space skipping logic to reduce the resolution of the volume data to form a volume pyramid having at least one smaller, lower-resolution volume and to use the volume pyramid to clip the rays, the at least one smaller, lower-resolution volume being a proxy volume, each proxy volume storing minimum and maximum opacity values for the next higher volume; and further arranging the space skipping logic to terminate a ray when a brick meeting a threshold opacity criterion is encountered.