--
Alias Open Reality SDK 7.5
December, 2005
--

Welcome to the Open Reality SDK release 7.5. This readme summarizes
important new features and enhancements to the Open Reality software
development kit.

For more information, consult the following documents:
- Open Reality SDK 7.5 Developer Guide
- Open Reality SDK 7.5 Reference Guide
- Open Reality SDK 7.5 Sample Code



==================================================
==================================================
Open Reality 7.5 Features

1.0  What's New
  1.1  Added new widgets to edit object properties in custom GUI.
  1.2  'FBComponent' has new methods to manage object namespace.
  1.3  Added methods to class 'FBFCurve' to allow key insertion/replacement.
  1.4  Added a new class and new methods for localisation support.
  1.5  Now possible to query and set a property's min and max values.
  1.6  Class 'FBPropertyManager' now offers localised name lookups.
  1.7  Helper class 'FBShaderManager' offers new shader creation.
  1.8  Now possible to change frame rate and playback speed.
  1.9  New properties for class 'FBPlayerControl'.
  1.10 New global functions.
  1.11 Support for custom framerate with class 'FBTime'.

2.0  Changes
  2.1  Class 'FBConfigFile' updated.
  2.2  New parameter for method 'FBFbxManager::LoadAnimationOnCharacter()'.
  2.3  Removed 'Append()' method on class 'FBPropertyListTexture'.
  2.4  Property 'GoboFilename' of 'FBLight' renamed 'GoboMedia'.
  2.5  Removed unused parameter from 'FBGeometry' methods.
  2.6  Fixed method 'FBProperty::IsReadOnly()' inline method.
  2.7  Changes in property initialization macros.
  2.8  Additional information now available when using 'FBRenderer::Pick()'.
  2.9  Updated the list of scene events.
  2.10 Modified class 'FBShader' constructor signature.
  2.11 Renaming of shader classes 'FBShaderDefault' and 'FBShaderShadow'.
  2.12 Updated interface of class 'FBString'.
  2.13 Complete overhaul of class FBUndoManager.
  2.14 Method 'Remove()' of class 'FBPropertyListUserObject' removed.
  2.15 Removed property 'UndoManager' from class 'FBSystem'.

3.0  Experimental Features
  3.1  The FBPlug class should still be considered experimental

4.0  Contact Information
  4.1  Corporate headquarters
  4.2  Open Reality support
  4.3  Software support
  4.4  General inquiries



==================================================
1.0  What's New

=====
1.1  Added new widgets to edit object properties in custom GUI.
[fbcontrols/fbcontrols.h]

  Added two new widget types: 'FBEditProperty' and 'FBEditPropertyModern'.
  The look of the widget instances will reflect the type of property being
  edited, exactly as is done with built-in editors elsewhere in the
  application. Support for undo/redo is integrated in the widget.
  The 'FBEditPropertyModern' widget is identical to the one used in the
  property editor, and its background color can be changed using one of the
  enum values defined by 'FBColorIndex'.

=====
1.2  'FBComponent' has new methods to manage object namespace.
[fbsdk/fbcomponent.h]

  With the new methods 'ProcessNamespaceHierarchy()' and 
  'ProcessObjectNamespace()' users can add, modify or remove a namespace for
  a given object and its child hierarchy. See the application documentation
  for more information on namespaces.

=====
1.3  Added methods to class 'FBFCurve' to allow key insertion/replacement.
[fbsdk/fbdata.h]

  The class 'FBFCurve' now exposes two new methods: 'KeyInsert()' and
  'Replace()'. With 'KeyInsert()' it is possible to add a new key at a given
  time without affecting the slope of the FCurve. With the 'Replace()'
  method, it is possible to copy all or part the keys from a source FCurve
  onto another curve.

=====
1.4  Added a new class and new methods for localisation support.
[fbsdk/fbmultilang.h]

  The class 'FBMultiLangManager' is used to query the list of available
  languages as well as the one in use. It also provides a mean to change the
  current language. The two versions of the global function
  'FBGetMultiLangText()' provide different means to query the language
  database for context dependant lookups.

=====
1.5  Now possible to query and set a property's min and max values.
[fbsdk/fbproperties.h]

  Class 'FBProperty' now offers 'SetMin()', 'SetMax()', 'GetMin()' and
  'GetMax()' to query and set the associated hints for the property editor.
  These have no effect on the actual limits for a property's value. 

=====
1.6  Class 'FBPropertyManager' now offers localised name lookups.
[fbsdk/fbproperties.h]

  When querying an object's property list, it is now possible to use either
  the internal property name or the name used in the GUI. This makes lookup
  easier, but also potentially unportable across versions using a different
  language as the localised lookup only knows about the current language,
  not all the supported languages.

=====
1.7  Helper class 'FBShaderManager' offers new shader creation.
[fbsdk/fbshader.h]

  With the class 'FBShaderManager' it is now possible to obtain the list
  of available shader types, both built-in and from plug-ins. Both internal
  and GUI shader names are offered. New shader instances can be created
  with the 'CreateShader()' method.

=====
1.8  Now possible to change frame rate and playback speed.
[fbsdk/fbsystem.h]

  The class 'FBPlayerControl' now offers method to query and set the
  current frame rate and play speed.

=====
1.9  New properties for class 'FBPlayerControl'.
[fbsdk/fbsystem.h]

  The class has now three new properties: 'SnapMode', 'ZoomWindowStart' and
  'ZoomWindowStop'. These were an often requested functionality.

=====
1.10 New global functions.
[fbsdk/fbsystem.h]

  The functions 'FBCreatePickInfosList()' and 'FBDestroyPickInfosList()'
  offer a way to allocate and free a 'FBArrayTemplate<FBPickInfos>' object
  while ensuring that the memory pool used is the same as the one used
  by the internal SDK code. This is useful on Windows when mixing debug
  and release code. The function 'FBSelectObjectsByNamespace()' offers a
  way to select scene objects based on a given namespace.

=====
1.11 Support for custom framerate with class 'FBTime'.
[fbsdk/fbsystem.h]

  The methods 'GetTime()', 'SetTime()' and 'GetFrame()', as well as the
  class constructor, now accept a framerate parameter which is used when
  the time mode is 'kFBTimeModeCustom'. The class also offers a set of
  static data members indicating the time values for: infinity, negative
  infinity, zero, one second, one minute and one hour.



==================================================
2.0  Changes

=====
2.1  Class 'FBConfigFile' updated.
[fbsdk/fbconfigfile.h]

  The class has been updated to replace parameters of type 'FBString' for
  the simpler and more straightforward constant pointers to C style strings.
  An additional class constructor has been added to allow the use of
  configuration files that reside outside the 'bin/config' folder on
  Windows and ~/Library/Preferences/...' on Mac OS X.

=====
2.2  New parameter for method 'FBFbxManager::LoadAnimationOnCharacter()'.
[fbsdk/fbfbx.h]

  The method has now a new parameter called 'pResetHierarchy' which
  indicates if the control-rig and character hierarchy should be reset
  according to the imported animation.

=====
2.3  Removed 'Append()' method on class 'FBPropertyListTexture'.
[fbsdk/fbmodel.h]

  In previous versions, 'Add()' would be used to add a texture to the whole
  scene, while 'Append()' would be used on a model. There is no longer any
  reason to having two methods, when only 'Add()' suffice.

=====
2.4  Property 'GoboFilename' of 'FBLight' renamed 'GoboMedia'.
[fbsdk/fbmodel.h]

  The property now points to a 'FBVideo' object, while previously it was
  simply a file name.

=====
2.5  Removed unused parameter from 'FBGeometry' methods.
[fbsdk/fbmodel.h]

  Methods 'VertexUVSet()', 'VertexUVSet()' and 'VertexUVGet()' previously
  required an UV index parameter, which was never used internally. Removed
  the parameter from the method signature.

=====
2.6  Fixed method 'FBProperty::IsReadOnly()' inline method.
[fbsdk/fbproperties.h]

  The inline code was incorrect and would return an incorrect value.

=====
2.7  Changes in property initialization macros.
[fbsdk/fbproperties.h]

  There were some cleanup in some macros used for property initialization.
  This should only affect internal SDK code, not client code.

=====
2.8  Additional information now available when using 'FBRenderer::Pick()'.
[fbsdk/fbrenderer.h]

  With previous versions, picking attempt would only return the list of
  objects picked. Now we also get the world coordinate of the intersection
  point with the surface.

=====
2.9  Updated the list of scene events.
[fbsdk/fbscene.h]

  Added new events: 'kFBSceneChangeReorder' and 'kFBSceneChangeReordered'.
  These indicate an order change within an object list in the system. Not
  all object list support reordering.

=====
2.10 Modified class 'FBShader' constructor signature.
[fbsdk/fbshader.h]

  Removed the reference to the scene parameter, as we do not offer multiple
  scene support yet, and setting the parameter had no effect.

=====
2.11 Renaming of shader classes 'FBShaderDefault' and 'FBShaderShadow'.
[fbsdk/fbshader.h]

  The classes 'FBShaderDefault'  and 'FBShaderShadow' are now respectively
  named 'FBShaderLighted' and 'FBShaderLighted'. The property list of both
  these classes now reflect the actual list of property seen with the GUI.
  Instances of these shaders can be created with the 'FBShaderManager' or
  simply by using their constructors.

=====
2.12 Updated interface of class 'FBString'.
[fbsdk/fbstring.h]

  Modified the method signatures of the class to use a 'const char*'
  whenever possible.

=====
2.13 Complete overhaul of class FBUndoManager.
[fbsdk/fbundomanager.h]

  With the changes made in the last few versions of the software, the undo
  management had now become incompatible with the SDK class. All the
  SDK methods of the class were removed. In its place we now offer the
  methods 'Clear()', 'Undo()' and 'Redo()', which simply delegate the call
  to the application undo management system. All the functionality removed
  was no longer working properly and could not be easily fixed.

=====
2.14 Method 'Remove()' of class 'FBPropertyListUserObject' removed.
[fbsdk/fbuserobject.h]

  The overloaded method was no longer needed, the parent's class 'Remove()'
  method does all the necessary work.

=====
2.15 Removed property 'UndoManager' from class 'FBSystem'.
[fbsdk/fbsystem.h]

  With the work done on class 'FBUndoManager' it was no longer necessary
  for class 'FBSystem' to have a property pointing to an instance of the
  undo manager.



==================================================
3.0  Experimental Features

=====
3.1  The FBPlug class should still be considered experimental
[fbsdk/fbplug.h]

  The FBPlug class exposes the SDK elements at the very root of the
  application architecture. These are bound to change and evolve over time,
  and makes it difficult to provide identical behavior between versions of
  the application. We will ensure that any change is properly documented.

=====
3.2  TBD
[TBD]

  TBD.



==================================================
4.0  Contact Information

=====
4.1  Corporate headquarters

Alias
210 King Street East
Toronto, Ontario, CANADA
M5A 1J7
Tel: 1(800) 447-2542
Fax: 1(416) 369-6140
www.alias.com

=====
4.2  Open Reality support

hotline@alias.com
1(877) 927-7478

=====
4.3  Software support

hotline@alias.com
1(877) 927-7478

=====
4.4  General Inquiries

hotline@alias.com
1(877) 927-7478



==================================================
