Depth-buffer algorithms for molecular modelling