A short history of procedural art - Griffith-ICT/1701ICT-Creative-Coding GitHub Wiki
A short history of procedural art
Yoko Ono: Grapefruit
Generated art
Demo scene: Commodore 64, Amiga, DOS
Demo Scene
Computers are like a funnel. Programs can only execute within the computer's functionality, limited by:
- RAM
- CPU speed
- Graphics capabilities
- Storage space
All of the above limit the type of art.
As a simple example, a Full HD (1920x1080) full colour 24 bit image, consumes 6MB. Early computers had hard drives smaller than 6MB, in fact computers didn't have hard drives at all! Typically they use floppy disks with a capacity between 200KB to 1.44MB. As a result simply storing art was a challenge.
One solution is to generate it. Take 3D graphics for example. I can define a scene with relatively little data:
- A cube, with colour
- A gradient background
- Reflections and lighting effects
The above can be stored with relatively little data, 8x (x,y,z) co-ordinates for the cube, some colours (r,g,b), and lighting positions. All of the data for this scene could be stored in less than 1KB. Because the data is vector based it can be rendered at any resolution. (The distinction between vector and raster graphics are an important distinction we will learn in this course).
So 1KB of data can produce an image with resolution even larger than Full HD (6MB) which at the time was not even possible to store.
However, we now hit our next funnel: the CPU. 3D rendering is a very complex task, depending on the type of rendering. In the early days CPU were very slow, typically around 1GHz. In comparison modern computers and phones are more than 1000 times faster (1GHz+). In addition modern computers and phones have special graphics hardware which is used for 3D rendering. Even though our simple scene could be rendered at any resolution, it may have taken hours to complete!
So we can see how our hardware capabilities can seriously limit the art we can generate.
The demo scene started out as a competition to see who could generate the most impressive graphics given very limited hardware.
As hardware improved the kinds of demos also improved, to the point it was difficult for the demos to compete with high quality computer games, particularly with the advent of graphics cards. However, the demo scene continues today, but they generally impose artificial restrictions, for example it may be that the entire program must run within 64KB of code.
[Example]