Autodesk's goal was to minimize the effort required by 3rd party developers to migrate their plug-ins to 3ds Max 2009. Only
important changes that benefit the robustness and flexibility of the SDK are implemented. The following is a brief summary
of the new features and enhancements introduced in 3ds Max 2009 SDK, with links to more information where applicable:
- Scene Event Manager - In previous versions of the 3ds Max SDK, developers faced significant complexities in order to monitor changes to properties
of nodes in the scene, such as node geometry, material and controller assignments, or location in the scene hierarchy. Different
events were reported through different mechanisms, and obtaining complete information about every node would require managing
large numbers of references, degrading system performance. In 3ds Max 2009 the Scene Event System (implemented by the interface
ISceneEventManager) provides a simplified, unified mechanism for monitoring changes to all properties of all nodes simultaneously. Using the
Scene Event Manager greatly simplifies client code, and increases robustness while improving performance and stability. This
simplified system supports a broad range of messages compared to previous systems, but provides less details regarding single
events. The Scene Event System is useful in situations requiring high-level information about scene changes and where precision
timing of messages is not a priority. For more information, see ISceneEventManager.h.
- Support for Combo Boxes in Parameter Block Descriptors - A new control type, TYPE_INT_COMBOBOX, can now be associated with parameters of type TYPE_INT and TYPE_INT_TAB. For more information, see the p_ui entry in the C++ Reference's "Related Pages > Lists and Functions > List of ParamTags Choices".
- Support for Tooltips in Parameter Block Descriptors - A tooltip can be specified as part of the user interface description of a parameter in a parameter block using the p_tooltip flag. See the p_tooltip entry in the C++ Reference's "Related Pages > Lists and Functions > List of ParamTags Choices". In addition, all custom controls allow for setting a tooltip string using the method ICustomControl::SetTooltip(). See custcont.h for more details. The ToolTipExtender class simplifies the task of setting up tooltips for user interface elements that do not derive from ICustomControl. For more information, see maxsdk\include\winutil.h.
-
Generic Meta Data Support - Meta-data are custom attributes that can be created by SDK clients at run-time and stored on instances of Animatable, as
opposed to having to write a custom attribute plug-in, compile it, have 3ds Max load it and then create instances of it. For
more information see imetadata.h.
- New photometric light types - New photometric light types (disc, sphere, and cylinder) are supported by the 3ds Max 2009 SDK. See lslights.h for details.
- Biped improvements - Bipeds now support triangle neck, fore-feet and in-place mirroring. See Biped11.Api.h for details.
- Edit Soft-Selection Command Mode - A new command mode allows for interactive editing of the falloff, pinch and bubble parameters of a soft-selection. See EditSoftSelectionMode.h for details.
- Improved compatibility between GDI calls and Vista Aero - XOR drawing methods in the SDK (such as XORDottedRect, XORDottedCircle, and XORDottedPolyline) have been extended to support Vista Aero. For a detailed explanation, see Vista Aero Support. See winutil.h for details.