
-->
For advice on porting your code from Sandy 1.1 to Sandy 1.2, see porting.
Here is a list of the improvements Thomas made or is making in Sandy 1.2:
Performance improvements
New Sequence3D and Parallel3D classes! Sandy is offering to you a real complete and reliable 3D animation system (frame based)
Camera modification, you don't need to give a strange focal value. You can play with projection values as it is done in OpenGL. You are now able to determine the viewport dimension and resize your animation in a real way.
New object event system! Much faster and stable.
Possibility to force a depth for an object. Really useful to avoid some z-sorting problems. (particularly with floors)
possibility to hide an object very simply.
Cache problems fixed.
Interpolators are improved and much more stable.
Possibility to change the transparency of your TextureSkin on the fly.
Lightening with texture skin is now much more faster! (TODO)
And a very exclusive feature : Frustum culling and clipping ! This feature allows you to display only the object in your camera field of view. No more strange things when the objects are behind you, no more extra computations! The clipping feature allows you to have a simple plane to represent a long wall! No more need to augment the quality that slow down your animation.
You need to specify a movieclip container to the world3D as you used to do with Screens.
The multiple cameras feature has been removed for performance reasons!
The possibility to add a clipping plane to your object (TODO)
Turn visibility on/off for an object.
The getPosition() method of Object3D is changed. It no longer returns the objects position in world coordinates, but in the camera's coordinate system.
The MovieSkin() constructor accepts an external
URL of a SWF to use as a skin, I think. In Sandy 1.1, it had to be an existing internal movie clip symbol on stage. (I'm not sure about this)
Other contributors (Bruce, RichL, Petit, marvotron, and samothtronicien) made lots of small tweaks and convenience improvements, such as:
Fixed the ViewPort height/width
Added back in support for some deprecated Sandy 1.1 methods to ease porting.
Added primitives - Cone, Ellipse, and CylSurface (and ported Hedra and Pyramid primitives from Sandy 1.1).
Many fixes and improvements to MovieSkin and VideoSkin handling, including proper issuing of skin load, init, and error events to simplify skinning of objects.
Fixes to using skins on a per-face basis (as opposed to per-object basis)
Added World3D.getVersion() method
Added methods to assist in display, debugging, and formatting, such as Vector.toString() and serialize/deserialize methods.
Fixed destroy method, and added ability for world to be contained in a subclip.
Added support for multiple instances of ASEparser class to allow parsing of more than one ASE file at a time.
Improved camera defaults and remembering of previous settings.
New switchable lighting model.
