Extensions are a means to extend maxwell capabilities in several areas: geometry loaders, geometry modifiers, procedural geometry and procedural textures.
Geometry loaders allow geometry to be loaded at the beginning of the render process. Proxy objects and external referencing can be implemented using these extensions.
Geometry modifiers allow an object to be modified at the beginning of the render process. For example, a coarse geometry object could be refined just before starting the render.
Procedural geometry extensions enable maxwell to render mathematically defined primitives. It is geometry created at render time. It can also generate its own texture coordinates.
Procedural textures are calculated while rendering.
Extensions are implemented as a set of classes which must be inherited from to create your own extension. These base classes have some pure virtual methods which, when properly implemented, provide the basic functionality and there are other virtual methods which provide optional functionality.