Because Lua is meant to be very portable, and graphics output mechanisms usually are not, it does not have a built-in graphics library. Instead we are going to use LuaSprite, and open source graphics library for Lua written in C by yours truly.
LuaSprite supports drawing basic shapes, displaying images, drawing text, and handling transparency.
LuaSprite also uses '''double-buffering''' which means everything frame(complete picture on the screen) is drawn offscreen first, then swapped all at once so that there are no flickering or artifacts caused by the order or speed at which you draw things.
LuaSprite is based on SDL, the Simple DirectMedia layer, which is a portable open-source multimedia library with support for raster graphics, sound, and input devices like mice, keyboards, and joysticks.
Visit www.libsdl.org for more information about SDL.
TODO: instructions for Installing SDL
Besides our own LuaSprite library, there is also a direct binding to SDL, luasdl2. The main reason we decided to write our own was to provide a higher level interface, more friendly to beginners than SDL itself which is focused on being a portable layer which gives you close to direct access to things.
TODO: work thru a few, simple examples of the graphics library.