8.3 Changes 9.1 Changes Table of Contents

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:
    • Streaming
    • Buffered(VBO)

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.