The following pages will give you a quick overview of the MAXScript language changes and improvements in 3ds Max 2009. For details on each feature, please follow the links to the respective documentation pages.
This new interface exposes all settings of the Steering Wheel viewport navigation system.
This new interface exposes all settings of the View Cube viewport navigation system.
Interfac e: IViewportShadingMgr
New property added to the existing IViewportShadingMgr Interface to set the maximum number of active lights in the viewports.
Two more properties and five methods were available but not documented in 3ds Max 2008 and have now been included.
Accessing Active Viewport Info, Type, and Transforms
New index:
optional keyword parameter added to viewport.getType()
and viewport.getCamera()
to query viewports by index instead of the active one.
New method viewport.getID()
added to returns the ID of an indexed viewport. When a viewport is maximized, its index will be 1 but its ID will be the viewport's index when not maximized.
CompositeTextureMap : TextureMap
The Composite Map has been completely reimplemented, while still providing backwards compatibility with old scenes containing the previous version of the map.
The new Color_Correction TextureMap provides means to alter the color information of an incoming texture map by modifying its Brightness, Contrast, Saturation, Exposure, Gain, Gamma, Color Channels and so on.
Unwrap_UVW Modifier - Spline Mapping
New properties and methods have been added to the Unwrap_UVW modifiers, exposing the new Spline Mapping functionality.
Image Viewer DisplayNotifications
Two new notifications added to the General Event Callbacks: #preImageViewerDisplay
and #postImageViewerDisplay
This new interface is returned as notification parameter of the above callbacks before or after a Rendered Frame Window or Image Viewer is opened and can be used to customize the custom User Interface panels.
A new optional keyword border:
has been added to the existing addRollout()
method to allow for borderless rollouts in the Image Viewer.
This new interface provides access to the new Render Region rubber band gizmo in the Rendered Image Window and in the Viewport.
A new optional keyword pos:
has been added to the render()
method to allow the opening of the Rendered Frame Window (also known as Virtual Frame Buffer) at a particular location of the screen or at the last known position (the new default behavior).
Viewport Index, Lock Button and Render Presets
New properties have been added to expose the Lock Button, Viewport Index list and Last Used Render Presets list at the bottom of the Render Scene Dialog.
mentalray renderer > Rendering Algorithms Rollout > Raytrace Acceleration
A new BSP2 option has been added to the existing .RaytraceMethod
property, the old Grid and Large BSP options have been removed.
mental ray renderer > Rendering Algorithms Rollout > Trace Depth
Two new .ReflectionsEnable
and .RefractionsEnable
properties have been added to the mental ray renderer to enable and disable trancing of reflections and refractions.
mentalray renderer > Rendering Algorithms Rollout > Subset Pixel Rendering
The new .enable_subset_pixel_rendering
property has been added to mental ray renderer to enable and disable the rendering of changed objects only.
mental ray renderer > Translator Options Rollout > Geometry Caching
The new .Enable_Geometry_Cache, .isGeometryCacheEmpty
and .LockGeometryCache
properties have been added to the mental ray renderer to control the caching of geometry between iterative renders.
mental_ray_renderer_functions Interfaces
This new interface exposes properties and methods related to managing Final Gather Presets, Final Gather Maps and the clearing of the Mesh Cache.
mr_Proxy : GeometryClass
This new geometry object allows the creation of proxy files on disk which can be loaded by mental ray at render time. This lets you replace very complex geometry with simple stand-ins and load their actual geometry ony when rendering.
mr_Sky : light
Several new properties have been added to the existing mental ray Sky light.
The Photometric Lights have been rewritten to allow easier creation, conversion between all types and more Area Light shapes.
Photometric Lights Common Properties, Operators, and Methods
All Photometric Lights share the same set of properties and methods. The list of properties has been updated and has also been redesigned to reflect the order the related controls appear in the User Interface.
New properties and methods related to weather file handling have been added to the Daylight Assembly Head helper.
New properties have been added to the Hair RenderEffect, exposing the tile memory usage and transparency depth parameters and the Global Illumination/Skylight options.
Lighting_Analysis_Overlay : RenderEffect
This new Render Effect allows the generation of lighting analysis data in screen or world space.
Lighting_Analysis_Data : RenderElement
This new Render Element can be used to output the lighting analysis data to an image file.
This new Helper can be used to define lighting analysis grids in world space to be used in conjunction with the Lighting Analysis Overlay RenderEffect.
This new Interface provides tools to perform lighting calculations and CSV file data export using any number of active LightMeter Helpers in the scene.
Interface: DaylightSimulationUtilities
Interface: DaylightSimulationUIOps
These two new Interfaces provide access to the functionality and the User Interface of the Daylight Simulation Utility.
This new interface can be used to set up the PseudoColor range and type (Linear or Logarithmic).
This new interface exposes a method for converting RGB data into Illumination data by taking into account the different contribution of the three channels.
An optional keyword argument style_sunkenedge:
has been added to the existing Label control to display a half-sunken border around it.
An optional keyword argument border:
has been added to the existing Button controls to control the display of the border around them. When set to false, the button will appear as one with the UI background. This keyword is NOT available in the pickbutton control.
An optional keyword argument tooltip:
and a tooltip:
property have been added to the existing Checkbox and Dropdownlist controls to get and set a tooltip string. Also note that 3ds Max 2009 will now automatically split long tooltips into multiple lines.
Using Bsearch For Fast Table Lookup
The new bsearch()
method is used to efficiently find an item in a sorted array.
This new Interface exposes a method to send emails via MAXScript.
The performance of the Macro Recorder when selecting a large number of objects has been improved significantly.
Accessing the Last Rendered Image
An option was added to the getLastRenderedImage()
method to copy the image or reference the same bitmap value as the renderer.
General Event Callback Mechanism
Two options were added to the callbacks.show()
method to show callbacks by type and/or by ID.
Two properties of the batchRenderViewOps
interface were hooked up to incorrect methods internally, making it impossible to access the scene state name and the enabled property. These have been fixed.