Currently, Appearances are applied to whole Geoms! For example, there is no way to apply different Materials to different Faces in a Trimesh. A Trimesh should be made of Faces and Appearances should be applied to Faces.
The obvious problem is efficiency! If each Face is a separate object then Spook would require a lot of memory to hold a Trimesh! I should change Trimesh to use indices, then every triple index would be a face. Then each Appearance could be given a range of faces (a list of shorts representing the face indices) to be applied to.
This may not be a problem. Models that specify different appearances for different parts can be broken down into several nodes each with extensions to the root appearance.
Currently, Appearances are applied to whole Geoms! For example, there is no way to apply different Materials to different Faces in a Trimesh. A Trimesh should be made of Faces and Appearances should be applied to Faces.
The obvious problem is efficiency! If each Face is a separate object then Spook would require a lot of memory to hold a Trimesh! I should change Trimesh to use indices, then every triple index would be a face. Then each Appearance could be given a range of faces (a list of shorts representing the face indices) to be applied to.