Constructive Solid Geometry
A 3D representation based on the combination or exclusion of multiple [see page 17, geometric primitives] to create objects. This representation is stored as an object model tree with leaves being primitives and nodes working as linear transformations or boolean operators (combine these two shapes, exclude the right hand shape from the left one).
Advantages:
- Compact
- Modelling history is recorded (simply shape editing is easy)
- Easy to validate representations
Disadvantages:
- Unevaluated model - You don't get the object until you've evaluated the entire model tree, changing the tree at any point causes you to have to reevaluate everything below that point. This can have large rendering time.
- Doesn't provide a unique representation.