9.6 Changes
November 15, 2008
This is a list of the changes in the LightWave® 9.6 release that affect the SDK.
lwpanel.h
-
A new DISTSLIDER_CTL control has been added.
-
The CTL_MOUSEBUTTON controller attribute has been added which contains
the mouse buttons which are pressed, to complement the CTL_MOUSEX
and CTL_MOUSEY attributes.
lwrender.h
-
Functions have been added to LWBoneInfo to support the new bulging
and displacement parameters. This brings the version number of the global
up to 5.
-
The LWSceneInfo global has been expanded to include new radiosity flags,
and hence has its version number increased to 6.
-
New raytracing functions (LWRayTraceDataFunc and LWRayTraceShadeFunc)
were added to the Rendering Functions.
See the raytracing functions page for a description of these.
-
The itemColorRgba function in LWInterfaceInfo has been expanded
to include a state parameter, which indicates the state of the item for which to obtain
the color. Previously only the color of the item in its current state could be returned.
This has necessitated increasing the version number of the LWInterfaceInfo global
to 7.
lwcustobj.h
-
To support part selection for gizmos, the LWCustomObjAccess structure has been
expanded to include setPart.
lwgizmo.h
-
The gizmo interface has been changed by the inclusion of a parts array in
pickItems. The version number of the interface has been
bumped to 3.
lwmeshedt.h
-
The st_MeshEditOp interface has been expanded to include routines to create/destroy/manipulate vertex maps. The version number of the interface has been bumped to 6.
lwfilter.h
-
Some more buffers have been added. Some of the new buffers are computed from
other buffers, and therefore require those other buffers to be available.
Furthermore, as there aren't any bits left to represent those buffers for the
flags() callback, requesting access to the new buffers is done by
requesting the needed combination of other buffers. To avoid confusion, the
buffer flags (LWBUFF_*, which are bitmasks, returned from the
flags() callback) have now been separated from the buffer types
(LWBUF_*, which are indices, passed to getLine(),
getVal(), and setVal()).
lwextrend.h
-
A new class of plugins has been added, used to implement an external renderer.
External renderers replace the built-in LightWave® renderer.
Commands: Layout
-
The ParentInPlace command now takes an optional argument to set the
state, instead of toggle.
-
The ClearSelected command now takes an optional argument to partially
or completely supress the confirmation dialog.
-
The DirtyMotion command has been added, which marks the motion of the
currently selected item as needing re-evaluation.
-
A new EnableMC toggle command has been added to complement the EnableIK
command. It disables motion controllers.
LScript 2.13.1
-
The Shader Access data member polNum is now deprecated. This data member
reports polygon index values in a zero-based format which is incongruent with
LScript's 1-based idiom.
-
A new Shader Access data member called polIndex has been added to replace
the deprecated polNum. This new data member reports the polygon index
value using a 1-based format.
-
Added the following new data members to the Scene Object Agent:
- doublesidedarealights (true/false)
- loadinprogress (true/false)
- radiositytype
- Contains one of the following three values:
- LWRT_BACKDROP
- LWRT_MONTECARLO
- LWRT_FINALGATHER
- radiosityindirectbouncecount (int)
- radiosityraysperevaluation1 (int)
- radiosityraysperevaluation2 (int)
- radiosityintensity (double)
- radiosityangulartolerance (double)
- radiosityminimumpixelspacing (double)
- radiositymaximumpixelspacing (double)
- radiositymultiplier (double)
- radiosityfilename (string)
- causticsintensity (double)
- causticsaccuracy (int)
- causticssoftness (int)
- radiosityflags[9]
- Each entry is a Boolean true/false that corresponds to one of the following radiosity flags:
- LWRDFLG_SHOW_NODES
- LWRDFLG_SHOW_CELLS
- LWRDFLG_SHOW_COLOR_CELLS
- LWRDFLG_SHOW_SAMPLES
- LWRDFLG_SHOW_MISSING_PREPROCESS_SAMPLES
- LWRDFLG_SHOW_MISSING_RENDER_SAMPLES
- LWRDFLG_SHOW_SECOND_BOUNCE
- LWRDFLG_SHOW_BEHIND
- LWRDFLG_USE_BUMPS
-
Expanded the SceneInfo.renderopts[] array by 3 to accommodate the USEGRADIENTS (28),
USEBEHINDTEST (29), and CAUSTICSCACHE (30) flags.
-
Added the LWRT_BACKDROP, LWRT_MONTECARLO and LWRT_FINALGATHER constants to the environment
for use with the SceneInfo.radiositytype value.
-
Added the Layout RadiosityFlags() command. This command is used to set one or more
radiosity flag values. These values are passed to the command, logically or'ing multiple
flags to enable them. Any flag values not included in the resulting or'd value are
disabled.
-
Added the following environment constants for use with the RadiosityFlags() command:
- LWRDFLG_SHOW_NODES
- LWRDFLG_SHOW_CELLS
- LWRDFLG_SHOW_COLOR_CELLS
- LWRDFLG_SHOW_SAMPLES
- LWRDFLG_SHOW_MISSING_PREPROCESS_SAMPLES
- LWRDFLG_SHOW_MISSING_RENDER_SAMPLES
- LWRDFLG_SHOW_SECOND_BOUNCE
- LWRDFLG_SHOW_BEHIND
- LWRDFLG_USE_BUMPS
-
Due to potential name conflicts, the following Procedural Texture (Shader) flags have been deprecated:
- NORMAL
- COLOR
- LUMINOUS
- DIFFUSE
- SPECULAR
- MIRROR
- TRANSPARENT
- ETA
- ROUGHNESS
- RAYTRACE
They have been replaced with the following prefixed equivalents:
- PT_NORMAL
- PT_COLOR
- PT_LUMINOUS
- PT_DIFFUSE
- PT_SPECULAR
- PT_MIRROR
- PT_TRANSPARENT
- PT_ETA
- PT_ROUGHNESS
- PT_RAYTRACE
New code should use the prefixed versions, and older code should migrate in preparation for the
removal of the original flags in some later release.
-
The following new flags have been added to the Procedural Texture (Shader) class:
- PT_TRANSLUCENT
- PT_DIFFUSE_SHADE
- PT_SPECULAR_SHADE
- PT_REFRACT_SHADE
- PT_REFLECT_SHADE
-
Due to potential name conflicts, the following Image Filter flags have been deprecated:
- SPECIAL
- LUMINOUS
- DIFFUSE
- SPECULAR
- MIRROR
- TRANS
- RAWRED
- RAWGREEN
- RAWBLUE
- SHADING
- SHADOW
- GEOMETRY
- DEPTH
- DIFFSHADE
- SPECSHADE
- MOTIONX
- MOTIONY
- REFLECTRED
- REFLECTGREEN
- REFLECTBLUE
- RED
- GREEN
- BLUE
- ALPHA
They have been replaced with the following prefixed equivalents:
- IF_SPECIAL
- IF_LUMINOUS
- IF_DIFFUSE
- IF_SPECULAR
- IF_MIRROR
- IF_TRANS
- IF_RAWRED
- IF_RAWGREEN
- IF_RAWBLUE
- IF_SHADING
- IF_SHADOW
- IF_GEOMETRY
- IF_DEPTH
- IF_DIFFSHADE
- IF_SPECSHADE
- IF_MOTIONX
- IF_MOTIONY
- IF_REFLECTRED
- IF_REFLECTGREEN
- IF_REFLECTBLUE
- IF_RED
- IF_GREEN
- IF_BLUE
- IF_ALPHA
New code should use the prefixed versions, and older code should migrate in preparation for the
removal of the original flags in some later release.
|