added heterogeneous volume rendering