9.0 Changes
April 29th, 2006
This is a list of the changes in the LightWave® 9.0 release that affect the SDK.
lwcamera.h
- The CameraHandler provides direct pixel cordinates and matrix functions to the Lightwave®
Layout camera.
lwnodes.h
- Node based image / procedural / gradient handling.
lwxpanel.h
- A single line height dThumbnail control option THUM_SNGL has been added.
- dThumbnail border control options THUM_BORDER_NONE, THUM_BORDER_UP, THUMBORDER_DOWN have been added.
lwvparm.h
- Envelope creation and deletion event notifications weren't always being sent. They are now.
- An envelope group rename event notification LWVPEC_RENAME has been added.
- The naming of vector type envelopes can now be controlled by flags.
lwdisplce.h
- A new flag LWDMF_AFTERMORPH has been added to allow displacement plugins to be evaluated
after morph. That is before the subdivision has been applied when subdivision order is "after morph".
- A new flag LWDMF_NEED_NORMALS has been added to allow displacement plugins to signal
the need for normals, which will be stored in the new "wNorm" member of LWDisplacementAccess.
- A new member wNorm has been added to the LWDisplacementAccess data structure.
"wNorm" will only be initialized with valid numbers if the flag LWDMF_NEED_NORMALS is specified by the plugin.
lwrender.h
- The camera info global version has been incremented to 4.
- A
LWCAMF_USECAMTYPE flag has been added to indicate that a non-classical camera
type is being used for the camera.
- An
evaluateRay function has been added to allow plug-ins to determine the ray properties
for non-classical camera types during rendering.
- Query functions have been added to allow plug-ins to determine the state of a camera's global-redirection
settings.
- The item info global version has been incremented to 4.
- Item info has gained new functions in relation to the improved align to path.
- New rayTrace function added.
- New Illumination function added.
- The object info global version has been incremented to 7.
- Functions have been added to the object info global to retrieve the displacement map and bump
displacement order.
- The viewport info global version has been incremeneted to 2.
- The viewport info global can now return the projection and modelview OpenGL matrices
for a viewport. Function have also been added to project world coordinates to a viewport,
and unproject viewport pixel positions to world coordinates.
- A function has been added to the viewport info global to return the view level of a viewport.
lwvolume.h
- The volumetrics class version has been incremented to 5.
- The volumetric access structure has been expanded to include the current pixel position
and the current ray recursion level.
lwpolygon.h
- The LWGPTF_SUBD flag has been added, to mark the polytype as creating a subdivision surface.
- An "edge_idx" parameter has been added to the lineTo function. In case a polygon is drawn,
the parameter should specify the edge index starting from the edge
between the vertices (n-1, 0) as edge with index 0.
Polygon type plugins have to be recompiled for LW9.
lwmtutil.h
- Complete support for cross-platform multithreading has been added. See the
Multithreading Utilities page for complete details.
lwmeshedt.h
- Added a typeFlags field to the EDPolygonInfo structure, which
contains the polygon type flags (LWGPTF_*) of the polygon type.
lwcustobj.h
- Added the LWCOFL_PICKING flag value to the custom object access, to
distinguish selection evaluation passes from drawing evaluation passes.
- added the LWCSYS_VIEWPORT coordinate system for custom object drawing.
lwhost.h
- Added new file types:
- LWFTYPE_NODES
- LWFTYPE_SOUNDS
- LWFTYPE_DYNAMICS
- LWFTYPE_RIGS
- LWFTYPE_INSTALL
lwimage.h
- The image utility global version number has been incremented to 2.
- Functions have been added to the image utility global to get and set pixels in any type from a pixmap.
- A function has been added to the image utility global to retrieve the color index map for LWIMTYP_INDEX8 pixmaps.
lwmeshes.h
- A function has been added to the meshinfo structure to get the polytype flags of a polygon.
- Meshinfo functions have been added to get polygon and vertex normals.
- Iterator functions have been added to meshinfo to iterate over the polygons or points of a mesh.
Commands: Layout
-
A new command ApplyServerByItemID has been added to allow
adding plugins by specifying the item id it should be applied to directly,
without having to select the item first.
-
New commands PathAlignMaxLookSteps and PathAlignReliableDist
have been added to support the updated align to path controller.
-
New commands DisplacementMapOrder and BumpDisplacementOrder
have been added to set the displacement order of the displacement map and bump
displacement.
-
Added the UseGlobalResolution, UseGlobalMask and
UseGlobalBlur commands to set the state of a selected camera's
global-redirection flags.
-
Added the following global versions of the camera-specific commands to allow
a plug-in to directly alter the settings of the scene's global camera:
- GlobalFrameSize
- GlobalResolutionMultiplier
- GlobalPixelAspect
- GlobalApertureHeight
- GlobalMotionBlur
- GlobalParticleBlur
- GlobalBlurLength
- GlobalMaskPosition
-
Added the HardwareShadingMethod command to set the
hardware shading method to be used in the viewports.
Currently available shading methods:
- MultitextureShaders
- GLSLShaders
-
Added the HardwareGeometryAccelerationMethod command to set the
hardware geometry acceleration method to be used in the viewports.
Currently available shading methods:
Miscellaneous
-
The AnimUV, Camera and Nodes plug-in classes have been added to the
support list of the LScript Object's server() method. These plug-in
classes are represented in the script's environment by the following
pre-defined values:
- SERVER_ANIMUV_H, SERVER_ANIMUV_I
- SERVER_CAMERA_H, SERVER_CAMERA_I
- SERVER_NODE_H, SERVER_NODE_I
-
Clarified that texture contexts should not be destroyed while a texture
using it still exists.
-
The preprocessor symbol _WIN32 used when compiling the server
library and plugins on the Microsoft Windows platform has been replaced
by _MSWIN. This avoids some confusion when compiling for 64bit
systems.
|