static ModelDrawer()
{
//Display types are sometimes requested from contexts lacking a convenient reference to a ModelDrawer instance.
//Having them static simplifies things.
displayTypes.Add(typeof(FluidVolume), typeof(DisplayFluid));
displayTypes.Add(typeof(Terrain), typeof(DisplayTerrain));
displayTypes.Add(typeof(TriangleMesh), typeof(DisplayTriangleMesh));
displayTypes.Add(typeof(StaticMesh), typeof(DisplayStaticMesh));
displayTypes.Add(typeof(InstancedMesh), typeof(DisplayInstancedMesh));
//Entity types are handled through a special case that uses an Entity's Shape to look up one of the ShapeMeshGetters.
shapeMeshGetters.Add(typeof(ConvexCollidable<BoxShape>), DisplayBox.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<SphereShape>), DisplaySphere.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<CapsuleShape>), DisplayCapsule.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<CylinderShape>), DisplayCylinder.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<ConeShape>), DisplayCone.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<TriangleShape>), DisplayTriangle.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<ConvexHullShape>), DisplayConvexHull.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<MinkowskiSumShape>), DisplayMinkowskiSum.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<WrappedShape>), DisplayWrappedBody.GetShapeMeshData);
shapeMeshGetters.Add(typeof(ConvexCollidable<TransformableShape>), DisplayTransformable.GetShapeMeshData);
shapeMeshGetters.Add(typeof(CompoundCollidable), DisplayCompoundBody.GetShapeMeshData);
shapeMeshGetters.Add(typeof(MobileMeshCollidable), DisplayMobileMesh.GetShapeMeshData);
}