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