1. An apparatus for calculating normals for volume units in a volume-based model, comprising: a memory for storing the volume-based model data and a processing unit coupled to the memory, the processing unit executing program code for calculating normals for volume units in the volume-based model, the program code when executed performs the steps of: (a) for an edge volume unit that forms an edge in the volume-based model, storing one or more normals of the one or more surface-based units, respectively, that intersect with that edge volume unit; (b) for that edge volume unit, obtaining an edge normal by calculating an equal-weighted average of the one or more normals stored in association with that edge volume unit; and (c) for a non-edge volume unit in the volume-based model, obtaining a non-edge normal by calculating a weighted average of one or more normals of the one or more surface-based units, respectively, that intersect with that non-edge volume unit.