Renderer Extensibility:
MASI has been designed to allow developers to add their own objects to the renderer queue. If you want to add a drawn object that is not a MASI primitive, simply derive the MASIRenderable class, and use MASICiX::CreateRenderable to create it and add it to the drawing queue. See Deriving MASIRenderable for information on how to do this in detail.
Particle Systems:
While you could create your own particle systems from scratch by deriving MASIRenderable, we have found that most particle system derivations only change or replace a small part of the particle updating code. As such, we suggest that you derive BasicArray if you wish to add your own particle behaviour. Those of you feeling more adventurous can attempt to derive AdvArray. Documentation outlining extensibility of these classes is available here and here, respectively.
Progressive Textures:
Textures that update over time can be defined using the ProgressiveTexture class, and, perhaps more commonly, UpdateableImage class. These classes allow you to generate texture information however you wish, having it update automatically.
Image Codecs:
Additional image codecs can be registered with MASI using the MASICiX::RegisterImageCodec function. See the ImageDecoder class documentation for more information.
Sound Codecs :
Much like image decoders, sound codecs can be registered with MASI using MASICiX::RegisterSoundCodec. See the SoundDecoder class documentation for more information.