1Major changes since 3.0
2-----------------------
3Addition of CSG.  "union", "intersect" and "difference" types.
4
5Animation support.  Multi-frame image files, use of expressions, animated
6transformations, new keywords, including: shutter, frames, framelength,
7define, starttime.  "linear" function, "time" and "frame" variables.
8
9Aggregate syntax changed.  Rather than "define .... defend" with
10the aggregate type buried inbetween, syntax is "type ... end", where type
11is one of: grid, list, union, intersect, difference.  Object naming
12is now accomplished by preceding one of the above with the "name" keyword
13followed by the name to assign to the aggregate.
14
15Torus, blob primitives added, courtesy of Mark Podlipec and Jochen Schwarze.
16Buggy superquadric primitive removed.
17
18Surface definition syntax and binding changed.  Surface definition is now keyword-
19based.  Note that the specular color of a surface is used to modify the color of
20reflected rays in 4.0.  When converting 3.0 scripts to 4.0, the specular component
21and/or reflectivity may need to be modified.
22
23Improved antialiasing.  Rather than using an adaptive scheme or nonadaptive
24"distributed" ray tracing, an adaptive jittered algorithm is used.
25
26Additional textures and light source types.
27
28Vastly improved performance when using many texturing functions.
29
30Many minor and not-so-minor bugfixes.
31