Surfaces are an incredibly powerful graphic tool that GameMaker: Studio provides you for creating special effects and a whole host of other things. They are relatively simple to use as they are
basically a canvas that you draw to instead of the display screen, and this canvas can then be manipulated and changed before being drawn with the functions on this page. For more information on how
to create surfaces, draw to them, and the drawbacks associated with their use, please see the section on Surfaces.
NOTE: When working with surfaces there is the possibility that they can cease to exist at any time due to them being stored in texture memory. You should ALWAYS check that a surface
exists using surface_exists before referencing them directly. for further information see Surfaces.
The following functions exist to deal with surfaces