			LightWave Scene File Format

			LightWave v.4.0  June 1995



THIS DOCUMENT IS PRELIMINARY.  THIS INFORMATION MAY NOT BE CORRECT,  
MAY BE INCOMPLETE, OR MAY CHANGE AT ANYTIME.



Copyright ©1990 - 1995 NewTek, Inc.

Confidential and Proprietary. All rights reserved. 



WARNING!

The information contained herein is subject to change without
notice.  NewTek, Inc. specifically does not make any endorsement 
or representation with respect to use, results, or performance of
the information (including without limitation its capabilities,
appropriateness, reliability, or availability).



DISCLAIMER

This information is provided "as is" without warranty of any 
kind, either expressed or implied.  The entire risk as to the
use of this information is assumed by the user.  In no event
will NewTek, Inc. be liable for any damages, direct, indirect, 
incidental, special or consequential, resulting from any defect
in the information. 


TABLE OF CONTENTS


Chapter 1  	SCENE FILE OVERVIEW

    	  1.1	Basic Scene File Information

	  1.2	Scene File Sections
	  1.2.1	  Order of Scene File Sections
	  1.2.2	  Example Scene File Section

	  1.3	Keyframes
	  1.3.1	  Basic Keyframe Information
	  1.3.2	  Basic Object Segment
	  1.3.3	  Expanded Basic Object Segment
	  1.3.4	  Single Keyframe Description
	  1.3.5	  Spline Control Values

	  1.4	Envelopes
	  1.4.1	  Basic Envelope Information
	  1.4.2	  List of Functions That Use Envelopes
	  1.4.3	  Example Envelope
	  1.4.4	  Expanded Envelope Structure

		  

Chapter 2	SCENE SECTION

	  2.1	Scene Section Information
	  2.1.1	  Scene Section Description
	  2.1.2	  Example Scene Section

	  2.2	Scene Functions
	  2.2.1	  Order of Scene Functions
	  2.2.2	  Scene Function Descriptions



Chapter 3	OBJECT SECTION

	  3.1	Object Section Information
	  3.1.1	  Object Section Description
	  3.1.2	  Individual Object Segment
	  3.1.3	  Example Object Section

	  3.2	Object Functions
	  3.2.1	  Function Order
	  3.2.2	  Function Descriptions

	  3.3	Object Skeleton
	  3.3.1	  Object Skeleton Information
	  3.3.2	  Example Object Segment with Bones
	  3.3.3	  Object Skeleton Function Order
	  3.3.4	  Object Skeleton Function Descriptions

	  3.4	Displacement Map / Clip Map
	  3.4.1	  DisplacementMap/ClipMap Information
	  3.4.2	  Example Object Segment with Displacement Map
	  3.4.3	  Mapping Function Order
	  3.4.4	  Mapping Function Descriptions



Chapter 4	LIGHT SECTION

	 4.1	Light Section Information
	 4.1.1	  Light Section Description
	 4.1.2	  Individual Light Segment

	 4.2	Light Functions
	 4.2.1	  Function Order
	 4.2.2	  Function Descriptions



Chapter 5	CAMERA SECTION

	 5.1	Camera Section Information
	 5.1.1	  Camera Section Description
	 5.1.2	  Example Camera Segment

	 5.2	Camera Functions
	 5.2.1	  Function Order
	 5.2.2	  Function Descriptions



Chapter 6	EFFECTS SECTION

	 6.1	Effects Section Information
	 6.1.1	  Effects Section Description
	 6.1.2	  Basic Effects Section

	 6.2	Effects Functions
	 6.2.1	  Function Order
	 6.2.2	  Function Description

		   

Chapter 7	RECORD SECTION

	 7.1	Record Section Information
	 7.1.1	  Record Section Description
	 7.1.2	  Basic Record Section

	 7.2	Record Functions
	 7.2.1	  Function Order
	 7.2.2	  Function Descriptions



Chapter 8	OPTIONS SECTION

	 8.1	Options Section Information
	 8.1.1	  Options Section Description
	 8.1.2	  Example Options Section

	 8.2	Options Functions
	 8.2.1	  Function Order
	 8.2.2	  Function Description

	

	

	
Chapter 1:			SCENE FILE OVERVIEW


1.1  BASIC SCENE FILE INFORMATION

  The LightWave scene file is a standard ASCII text file that contains the 
  information necessary to reconstruct a LightWave Scene.

  In addition to the objects, lights and camera, the scene file contains 
  standard Layout settings that are set on a per scene basis.  Layout 
  information that is more "permanent" is saved in the LightWave config 
  file. (For LightWave Config File information see Chapter 10.)

  The object geometry is not included in the scene file.  For each object 
  instance the objects path and filename are listed along with other scene 
  specific attributes.  The objects are stored as seperate binary files 
  that contain the object geometry along with the objects surface attributes.

  Objects are not saved when the Save Scene function is selected from the 
  Scene Menu.  The user is required to save these by going to the Objects Menu 
  and selecting either the Save Object or Save All Objects function.  This 
  saves each object as an individual file and sets the path and filename that 
  will be saved for that object instance in the scene file.

  Values are listed to 6 decimal places.

  Position values are given in meters.

  Rotation values are given in degrees.

  Scaling values are given as a multiplier.

  Frame numbers are given as a value greater than or equal to 0.

  Color values are given as an Red, Green, and Blue triple, each with a range 
  of 0 to 255.



1.2  SCENE FILE SECTIONS


1.2.1  Order Of Scene File Sections

The scene files basic structure is divided into separate logical sections.  
Each section relates to a group of LightWave's functions.  These sections 
are arranged in an order similar to the menu structure in LightWave's Layout.  

	Scene

	Objects

	Lights

	Camera

	Effects

	Render

	Layout Options


1.2.2 Example Scene File Sections

LWSC
1

FirstFrame 1
LastFrame 30
FrameStep 1
FramesPerSecond 30.000000

AddNullObject NullObject
ShowObject 4 7
ObjectMotion (unnamed)
 9
 1
 0 0 0 0 0 0 1 1 1 
 0 0 0 0 0
EndBehavior 1
ShadowOptions 7

AmbientColor 255 255 255
AmbIntensity 0.250000

AddLight
LightName Light
ShowLight 0 7
LightMotion (unnamed)
 9
 1
 0 0 0 60 30 0 1 1 1
 0 0 0 0 0
EndBehavior 1
LightColor 255 255 255
LgtIntensity 1.000000
LightType 0
ShadowCasting 1

ShowCamera 1 7
CameraMotion (unnamed)
 9
 1
 0 0 -1 0 0 0 1 1 1
 0 0 0 0 0
EndBehavior 1
ZoomFactor 3.200000
RenderMode 2
RayTraceEffects 0
Resolution 1
PixelAspectRatio 0
SegmentMemory 8800000
Antialiasing 0
AdaptiveSampling 1
AdaptiveThreshold 8
FilmSize 2
FieldRendering 0
MotionBlur 0
DepthofField 0

SolidBackdrop 1
BackdropColor 0 0 0
ZenithColor 0 40 80
SkyColor 120 180 240
GroundColor 50 40 30
NadirColor 100 80 60
FogType 0
DitherIntensity 1
AnimatedDither 0

DataOverlayLabel

ViewMode 3
ViewAimpoint 0.000000 0.000000 0.000000
ViewDirection 0.621337 -0.254818 0.000000
ViewZoomFactor 3.200000
LayoutGrid 8
GridSize 1.000000
ShowMotionPath 1
ShowSafeAreas 0
ShowBGImage 0
ShowFogRadius 0
ShowRedraw 0



1.3  KEYFRAMES


1.3.1  Basic Keyframe Information

A major part of the scene file consists of the motion paths of the Objects, 
Lights and the Camera.  The keyframe information provides the motion values 
needed to reproduce a motion path.

  Keyframes provide the following information:

	Position 		(X, Y, Z)
	Rotation 		(Heading, Pitch, Bank)
	Scaling 		(XScale, YScale, ZScale)
	Frame Number
	Linear Value 		(Curved, Linear)
	Spline Adjustments 	(Tension, Continuity, Bias)

  Values are listed to 6 decimal places.

  Position values are given in meters.

  Rotation values are given in degrees.

  Scaling values are given as a multiplier

  Frame numbers are given as a value greater than or equal to 0.

  Each instance of an object, light, or camera is required to have at least 
  one keyframe at frame 0.  This keyframe cannot be deleted from the scene file.

  Motions can be saved as separate motion files using the Save Motion 
  function from the Motion Graph.    This allows the copying of motions 
  from scene file to scene file and object to object. (For the Motion File 
  Format see Chapter 9.)


1.3.2  Basic Object Segment

The keyframes of an example object section are shown below:


LoadObject Objects/Tutorial/LightBeam.obj
ShowObject 4
ObjectMotion (unnamed) 
 9
 2
-1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000  1.0    
1.0  1.0  0  0  1.0   0.0   0.0 
-1.321534  2.235439  2.164330  -60.000000  360.000000  180.000000  1.0    
1.0  1.0  15  0  1.0   0.0   0.0 
EndBehavior 1
ShadowOptions 7



1.3.3  Expanded Basic Object Segment: (line-by-line description) 

Below is an expanded line-by-line description of the above object segment:

LoadObject Objects/Tutorial/LightBeam.obj	
			Load Object function followed by object path name.

ObjectMotion (unnamed)  Object motion identifier.


 9			Number of Information channels per keyframe.

 2			Number of Keyframes to be listed.

-1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
1.0   1.0   1.0  0  0  1.0   0.0   0.0  	     
			Keyframe Information.

-1.321534  2.235439  2.164330  -60.000000  360.000000  180.000000   
1.0   1.0   1.0  15 0  1.0   0.0   0.0 		     
			Additional Keyframe.

EndBehavior 1		End Behavior of the object's motion.

Shadow Options 7	Shadow options for the object.



1.3.4 Single Keyframe Description

-1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
1.0   1.0   1.0  15  0  1.0   0.0   0.0 

The values are listed as follows:

1st Line:
XPosition, YPosition, ZPosition, Heading, Pitch, Bank

2nd Line:
XScale, YScale, ZScale, FrameNumber, Linear Value, Tension, Continuity, Bias


1.3.5  Spline Control Values

Linear Value:	0 - Curved Spline
		1 - Linear Path

Tension:	-1.0 <= T <= 1.0

Continuity:	-1.0 <= C <= 1.0

Bias:		-1.0 <= B <= 1.0



1.4  ENVELOPES


1.4.1  Basic Envelope Information

  Envelopes are used to change function values over time.

  When an envelope is used, the function's  numeric value is replaced by an 
  envelope segment identifier.  This is denoted by:  (envelope)

  Envelopes set a single numeric value for a function (percentage, angle, etc.)

  Percentages are listed between 0 and 1 with 0% = 0.000000 100%= 1.000000,  
  some function values are capable of going  above 100%. 

  Values are listed to six decimal places.

  Angles are given in degrees.

  Distances are given in meters.

  All Envelopes end with a local EndBehavior option.


1.4.2  List of Functions That Use Envelopes

	Name - Type				Function Listing 


	Displacement Map - %			DisplacementMap

	Metamorph Level - %:  			Metamorph

	Object Dissolve - %:  			ObjDissolve 

	Polygon Size - %:  			PolygonSize

	Global Flare Intensity - %: 		GlobalFlareIntensity

	Ambient Intensity - %:  		AmbIntensity

	Light Intensity - %:  			LgtIntensity

	Flare Intensity - %:  			FlareIntensity

	Flare Dissolve - %:			FlareDissolve

	Flare Rotation Angle - Angle:		FlareRotationAngle

	IntensityFalloff - %:			Falloff

	Spotlight Cone Angle - Angle:		ConeAngle

	Spot Soft Edge Angle - Angle:		EdgeAngle

	Shadow Map Angle - Angle:		ShadowMapAngle

	Zoom Factor - Focal Length:		ZoomFactor

	Blur Length - %:			BlurLength

	Focal Distance - Distance:		FocalDistance
	
	Lens F-stop - Aperture Size:		LensFStop

	Foreground Dissolve - %:		FGDissolve

	Minimum Fog Distance - Distance:	FogMinDist

	Maximum Fog Distance - Distance:	FogMaxDist

	Minimum Fog Amount - %:			FogMinAmount

	Maximum Fog Amount -%:			FogMaxAmount

	Color Saturation -%:			Saturation

	Glow Intensity - %:			GlowIntensity

	Glow Radius - Pixels:			GlowRadius


1.4.3  Example Envelope:

LgtIntensity  (envelope)
   1
   4
   0.235000
   0 0 0.0 0.0 0.0
   0.800000
   11 0 0.0 0.0 0.0
   0.260000
   22 0 0.0 0.0 0.0
   0.650000
   41 0 0.0 0.0 0.0
EndBehavior 1


1.4.4  Expanded Envelope Structure: (line-by-line description)

LgtIntensity (envelope)	Envelope Function name followed by envelope 
section identifier.

  1		Number of Information Channels:  envelopes contain percentage 
					 	 values only.

  4		Number of Keyframes in the envelope.

  0.235000	Envelope Value. (23.5%)

  0 0 0.0 0.0 0.0		
		Frame Number, Linear Status, Tension, Continuity, Bias

  0.800000	Envelope Value. (80%)

  11 0 0.0 0.0 0.0  
		Frame Number, Linear Status, Tension, Continuity, Bias

  0.260000

  22 0 0.0 0.0 0.0		
		Additional Keyframes.

  0.650000

  41 0 0.0 0.0 0.0

EndBehavior 1	End Behavior for this envelope.




Chapter 2:			SCENE SECTION


2.1 SCENE SECTION INFORMATION


2.1.1 Scene Section Description

  The Scene Section consists of the LightWave scene file header and frame 
  information.  The functions in this section always produce a listing 
  and have no optional functions.


2.2.2  Example Scene Section

Below is an example Scene Section:


LWSC
1

FirstFrame 1
LastFrame 30
FrameStep 1
FramesPerSecond 30.000000



2.2 SCENE FUNCTIONS


2.2.1  Order of Scene Functions

The following scene functions are listed in the order in which they appear 
in the scene file.

  Italicized entries denote function labels and are not true function names.

		LWSC
		Scene File Version

		FirstFrame
		LastFrame
		FrameStep
		FramesPerSecond


2.2.2  Scene Function Descriptions


LWSC

The LightWave scene file begins with the LWSC header.


Scene File Version <1>

The second listing is the version of the scene file.


FirstFrame <frame number>

example:  FirstFrame 1

The FirstFrame function provides the starting frame for the rendering process. 
This is a global function for all LightWave functions that use frame 
information


LastFrame <frame number>

example:  LastFrame 30

The LastFrame function provides the last frame to be rendered.  This also 
supplies the defaults for the MakePreview function and the current frame 
slider from Layout with the last frame information.  This is a global 
function for all LightWave functions that use frame information.


FrameStep <int>

example:  FrameStep 1

The FrameStep function provides the number of frames to increment between 
rendered frames during the rendering process.  


FramesPerSecond <float>

example:  FramesPerSecond 30.000000

The FramesPerSecond function provides the number of frames per second.





Chapter 3:			OBJECT SECTION


3.1  OBJECT SECTION INFORMATION


3.1.1 Object Section Description

  The Object section contains the information for all objects and object 
  related functions in a LightWave Scene.

  The LightWave scene file does not contain the object geometry or the 
  surface information for its objects.  This information is located in 
  object files that are saved separately from the scene.

  Multiple Objects in an Object Section are listed sequentially in the order 
  in which they were loaded/created.

  Duplicate objects are given a numbered suffix to the name during the 
  loading process.  This number is enclosed in parenthesis and follows the 
  object name.  An example:  LightBeam.lwo (2) is the second instance of 
  the LightBeam.lwo object.  The number is not saved in the scene file, 
  and is used only as a user reference.

  The Target, Parent, and Goal functions use a value that is equal to the 
  order in which the referenced object was loaded.   i.e. The value in the 
  function "ParentObject 3"  means that the current object is parented to 
  the third object instance in the scene file.


3.1.2 Individual Object Segment

  An Object Segment is required for each object instance in a scene file.

  Object Segments are listed in the order in which the object was 
  loaded/created in the LightWave Scene.  

  The following functions are listed for each object instance.

	 (See Sections 3.2 and 3.3 for full descriptions)

	  LoadObject <filename> ¦ AddNullObject NullObject

	  ShowObject <value> <value>

	  ObjectMotion (unnamed)  (Identifier Only)

	  Number of Information Channels

	  Number of Keyframes

	  Keyframe Information

	  EndBehavior <value>

	  ShadowOptions <value>

  Additional functions are listed in the scene file as they are activated by 
  the user.

	(See Sections 3.2 and 3.3 for full descriptions)


3.1.3 Example Object Section

The following Object Section contains two objects.

	Preceding Scene Section........

LoadObject Objects/Tutorial/LightBeam.lwo
ShowObject 4 7
ObjectMotion (unnamed) 
 9
 2 
-1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
1.0   1.0    1.0  0  0  1.0   0.0   0.0 
-1.321534   2.235439  2.164330  -60.000000  360.000000 180.000000   
1.0   1.0    1.0  15  0  1.0   0.0   0.0 
EndBehavior 1
ShadowOptions 7

AddNullObject Null
ShowObject 4 7
ObjectMotion (unnamed)
 9
 1
 0 0 0 0 0 0 1 1 1 
 0 0 0 0 0 
EndBehavior 1
ShadowOptions 7

	Additional Scene Listings............



3.2 OBJECT FUNCTIONS


3.2.1 Function Order

The following object functions are listed in the order in which they appear 
in the scene file.

  Functions denoted with an asterisk (*) are required for all object instances.

  Italicized entries denote function labels and are not true function names .

  Indented entries denote an optional function of the preceding function.

		LoadObject [AddNullObject]  *

		ShowObject *

		ObjectMotion (identifier)  *

		Number of Information Channels *

		Number of Keyframes * 

		Keyframe information *

		EndBehavior *

		LockedChannels

		HLimits

		PLimits

		BLimits

		PivotPoint

		ParentObject

		GoalObject

		IKAnchor

		Object Skeleton   (see Section 3.3)

		Metamorph

			MorphTarget

			MorphSurfaces

		DisplacementMap (see Section 3.4)

		ClipMap  (see Section 3.4)

		ObjDissolve

		DistanceDissolve

			MaxDissolveDistance

		PolygonSize

		Particle/Line Size

		UnaffectedByFog

		ObjPolygonEdges

			ObjEdgeColor

		UnseenByRays

		ShadowOptions *


3.2.2 Function Descriptions

The following object functions are listed in the order in which they appear 
in the scene file.


LoadObject  <object path + filename>  (Alternative: AddNullObject)

example:      LoadObject Objects/Tutorial/LightBeam.lwo

The LoadObject function is the first listing in all Object Segments.  It 
provides LightWave with the path and filename for the object to be loaded.  
The object's path is generated by adding the current content directory to 
the beginning of the given path and filename.  

In this example if the current content directory were <c:/NewTek>, LightWave 
would attempt to load the file <c:/NewTek/Objects/Tutorial/LightBeam.lwo>.

It is possible to have duplicate objects in a scene file.  When the LoadObject 
function is called, and the object name already exists, a numbered suffix is 
added to the duplicate object's name.  This number is enclosed in parenthesis 
and follows the object name.  

For example:  LightBeam.lwo (2) is the second instance of the LightBeam.lwo 
object in the current scene file.

The added suffix is not saved in the scene file, and is used only as a user 
reference.

	Alternative:  AddNullObject NullObject

	Alternative example:      AddNullObject NullObject

	The AddNullObject function will create a null object named "NullObject" 
	in the current scene.  NullObjects are treated as a normal object in 
	the scene file.
 
User Interface:  The LoadObject/AddNullObject listing is produced from the 
following functions on the Objects Panel; LoadObject, Load from Scene, and 
Add Null Object.

The LoadObject/AddNullObject function is listed with all objects.


ShowObject <refresh value> <color value>

example:     ShowObject 4 7

The ShowObject function determines how the object is going to be displayed in 
Layout.

  Refresh value

This argument sets the type of wireframe refresh for the object when displayed 
in Layout.  

<refresh value>:	0 - No Refresh
			1 - Bounding Box
			2 - Points Only
			3 - Every 4th Polygon
			4 - Full Polygon (Default)

User Interface:  The refresh value is selected in the second column of the 
Scene Overview from the Scene Menu.  	


 Color value

This argument sets the color of the object's wireframe when not selected in 
Layout.  When selected, all items highlight to yellow.

<color value>:		1 - Blue
			2 - Green
			3 - Light Blue
			4 - Red
			5 - Purple
			6 - Orange
			7 - Gray

User Interface: The color value is selected in the first column of the 
Scene Overview from the Scene Menu.

The ShowObject function is listed with all objects.


ObjectMotion (unnamed)

example:     ObjectMotion (unnamed)


The ObjectMotion identifier denotes the beginning of the keyframe information 
for the current object segment.  It does not require any arguments to be 
passed to it.

In previous versions of LightWave an external motion file could be called 
with this function.  The (unnamed ) value was replaced with the motion 
filename, and the keyframe information was left in the external file.  
This lead to problems when the external motion file was deleted, moved 
or changed.  The result was lost keyframe information.  For this reason, 
when an external motion file is now loaded into LightWave, the keyframe 
information is stored within the local scene file.

User Interface: None

The ObjectMotion identifier is listed with all objects.


Number of Information Channels:  <9>

The Number of Information Channels is a numeric value with no header that 
follows the ObjectMotion identifier.  The value for the number of information 
channels is equal to the number of variables to be provided per keyframe.  
For LightWave object keyframes, the variables are listed as follows:  
X position, Y position, Z position, Heading, Pitch, Bank, X Scale, Y Scale, 
and Z Scale.   For object motions, the number of information channels value 
is automatically set to 9 by LightWave.  The user has no access to this value.  

User Interface: None

The number of information channels is listed with all objects.


Number of Keyframes:  <int>

The Number of Keyframes is an integer value with no header that follows the 
Number of Information Channels.  This value provides the number of keyframes 
for the current object.  It is immediately followed by the keyframe 
information.  Every object will have at least one keyframe at frame 0.  

User Interface:  The number of keyframes is taken from the motion path the user 
creates for an object.

The Number of Keyframes is listed with all objects.


Keyframe Information:

-1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
1.0   1.0   1.0  15  0  1.0   0.0   0.0 

The values are listed as follows:

1st Line:

XPosition, YPosition, ZPosition, Heading, Pitch, Bank

2nd Line:

XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias

At least one keyframe (frame 0) is listed for each object.

(See Section 1.3 Keyframes)


EndBehavior <value>

example:     EndBehavior 2

The EndBehavior function determines how the object will react when the 
last keyframe has been reached. The available choices are: reset, stop 
and repeat. 

<value>:	0 - Reset
		1 - Stop (Default)
		2 - Repeat

User Interface: The EndBehavior value is set from the object's motion graph panel.

The EndBehavior option is listed with all objects.


LockedChannels <bit-field value>

example:     LockedChannels 4093

The LockedChannels function determines the extent of the mouse control 
from LightWave's Layout.  Separate independent channels of motion, 
rotation, etc. can be locked off to restrict the mouse's  control on 
the current object.  The mouse functions that it can effect are:  
Move (X,Y,Z), Rotate(H,P,B), Scale/Stretch(X,Y,Z), and MovePivotPoint(X,Y,Z).

The bit-field value is produced by calculating the decimal value of a 
12 position bit-field whose bits represent logical on/off switches that 
are number left to right from 0 - 11.  The least-significant bit for 
this field is the rightmost bit.  Each channel has a corresponding bit 
in the bit-field.  When a channel is locked, its bit (or switch) is 
turned on.

<bit positions>:	0 - Move X
			1 - Move Y
			2 - Move Z
			3 - Rotate Heading
			4 - Rotate Pitch
			5 - Rotate Bank
			6 - Scale X / Size X  (channels are connected)
			7 - Scale Y / Size Y (channels are connected)
			8 - Scale Z / Size Z (channels are connected)
			9 - MovePivotPoint X
			10 - Move Pivot Point Y
			11 - Move Pivot Point Z

User Interface:  The LockedChannels function is set from the Layout mouse 
		 control area.


HLimits <min. angle> <max. angle>

example:    HLimits -37.5 180

The HLimits function provides the minimum and maximum angles of heading 
rotation for the Inverse Kinematics function.  

<min. angle>,<max. angle>:  Range = -360 to 360

User Interface:  The HLimits angles are set from the IK Options controls 
		 from Layout.


PLimits <min. angle> <max. angle>

example:    PLimits -37.5 180

The PLimits function provides the minimum and maximum angles of the pitch 
rotation for the Inverse Kinematics function.  

<min. angle>,<max. angle>:  Range = -360 to 360

User Interface:  The PLimits angles are set from the IK Options controls 
		 from Layout.

BLimits <min. angle> <max. angle>

example:    BLimits -37.5 180

The BLimits function provides the minimum and maximum angles of the banking 
rotation for the Inverse Kinematics function.  

<min. angle>,<max. angle>:  Range = -360 to 360

User Interface:  The BLimits angles are set from the IK Options controls 
	     	 from Layout.


PivotPoint <x position> <y position> <z position>

example:  PivotPoint 0 16.9 -11.6

The PivotPoint function provides the x, y, and z positions for the pivot 
point of the object.  This determines the center of rotation for the 
current object.  The position values are given as a distance (meters) 
of offset from the original object center.

User Interface:  The PivotPoint values are set from the Move Pivot Point 
		 mouse function in Layout.


ParentObject <object instance>

example:     ParentObject 4

The ParentObject function provides LightWave with the current object's 
parent object in the hierarchical chain.  The value is equal to the 
parent objects position in the loading sequence.  The example function
would parent the current object to the fourth object instance in the 
scene file.  When the ParentObject function is active, all keyframe 
information for the object becomes an offset from the parents information.

User Interface:  Objects hierarchies are created by selecting the parent 
		 function from layout.  The parent object is then selected 
		 from the pop-up listing provided.


GoalObject <object instance>

example:  GoalObject 5

The GoalObject function provides LightWave with the current object's goal 
object for an inverse kinematics chain.  The value is equal to the goal 
object position in the loading sequence.  The example function would goal 
the current object to the fifth object instance in the scene file.

User Interface:  The GoalObject is chosen from the IK options from Layout.


IKAnchor <flag>

example:  IKAnchor 1

The IKAnchor function sets the current object as an anchor object in an 
inverse kinematics chain.  The predecessors of this object would not be 
affected by the goal of its children.

<flag>:	0 - Off (No function listing)
	1 - On  (Function listing)

User Interface:  The IKAnchor flag is set from the IK options from Layout.


Object Skeleton:  (See Object Skeleton Section 3.3)

The Object Skeleton listing is a label for the Bones area of the 
LightWave scene file.  This is the location where the object deformation 
bones are listed.  This function is described in detail in the Object 
Skeleton Section 3.3.  


Metamorph <percentage> ¦ (envelope)

example:     Metamorph 0.500000

The Metamorph function provides LightWave with the information needed to 
morph the current object into a target object that is provided in the 
MorphTarget function.

The value is the percentage of change between the current object and 
its target.  The function's value can be changed over time with an 
envelope.  If an envelope is chosen, the functions value is replaced 
with an envelope identifier.  For more information on envelopes, see 
the Envelopes Section 1.4.

When the Metamorph function is selected, two additional function listings 
are necessary.  These are listed below:

	Additional:     MorphTarget  <object instance>

	example:     MorphTarget 2

	The MorphTarget function provides the morph target's object position 
	in the object listing.

	
	Additional:     MorphSurfaces  <flag>

	example:     MorphSurfaces 1

	The MorphSurfaces flag activates the morphing of the surface attributes. 

 	 <flag>:	0 - Off
			1 - On

	User Interface:  The Metamorph functions are set from the Objects Panel.


DisplacementMap:  (See Displacement Map Section 3.4)

The DisplacementMap function deforms the geometry of an object using either 
image maps or procedural textures.

This function is described in detail in the DisplacementMap/ClipMap 
Section 3.4.

User Interface:  The DisplacementMap controls are located on the Objects Panel.


ClipMap:  (See Clip Map Section 3.4)

The ClipMap function "clips" or removes parts of an object's geometry using 
either image maps or procedural textures.

This function is described in detail in the ClipMap Section 3.4.

User Interface:  The ClipMap controls are located on the Objects Panel.


ObjDissolve  <percentage> ¦ (envelope)

example:     ObjDissolve 0.500000

The ObjDissolve function determines the object's dissolve level during the 
rendering process.  The example would produce an object that is 50% dissolved 
throughout the animation.  The  value is listed as a percentage out to six 
decimal places.  If the value is left at the default of 0% dissolved, the 
function does not provide a listing in the scene file.  The value of this 
function can be changed over time with an envelope.  If an envelope is 
selected, the functions value is replaced with an envelope identifier.  
For more information on envelopes, see the Envelopes Section 1.4.

User Interface:  The ObjDissolve function is set from the Objects Panel.


DistanceDissolve <flag>

example:     DistanceDissolve 1

The DistanceDissolve flag turns the distance dissolve function on and off.  
This function produces a DistanceDissolve listing  with a value of 1 and 
adds the MaxDissolveDistance listing (see below) when turned on.  When 
turned off, this function does not provide a listing in the scene file.

<flag>:	0 - Off (No Listing)
	1 - On  (Function listing plus additional MaxDissolveDistance listing)


	Additional:     MaxDissolveDistance <distance>

	example:     MaxDissolveDistance 25.000000

	The MaxDissolveDistance function provides the distance from the 
	camera that the object will be %100 dissolved.  In the example shown, 
	the object will be completely dissolved at 25 meters.

	User Interface:  The DistanceDissolve functions are set from the 
			 Objects Panel.


PolygonSize <percentage> ¦ (envelope)

example:     PolygonSize 0.350000

The PolygonSize function provides a value that adjusts the polygon size 
of all polygons in the current object.  The example would produce an 
object with all polygons 35% of their original size.  If the value is 
left at the default 100%, this function does not provide a listing in 
the scene file.  The value of this function can be changed over time 
with an envelope.  If an envelope is selected, the functions value is 
replaced with an envelope identifier.  For more information on envelopes, 
see the Envelopes Section 1.4. 

User Interface:  The PolygonSize function is set from the Objects Panel.


Particle/LineSize <value>

example:  Particle/LineSize 1

The Particle/LineSize function determines the size of a one and two point 
polygons when rendered.

If the value is left at the default of Automatic, no function listing is 
produced in the scene file.

<value>:	0 - Automatic (No function listing)
		1-  Small
		2 - Medium
		3 - Large

User Interface:  The Particle/LineSize function is set from the 
		 Particle/Line Size pop-up panel on the Objects Panel.


UnaffectedByFog <flag>

example:  UnaffectedByFog 1

The UnaffectedByFog flag activates the Unaffected by Fog function that 
will allow the current object to render normally when fog is turned on.  
This function produces a UnaffectedByFog listing  with a value of 1 when 
turned on.  When turned off, this function does not produce a listing in 
the scene file.

<flag>:	0 - Off (No function listing)
	1 - On

User Interface:  The UnaffectedByFog function is set from the Objects Panel.


ObjPolygonEdges <flag>

example:     ObjPolygonEdges 1

The ObjPolygonEdges flag activates the Polygon Edges function that renders 
all polygons with a visible outline.  This function produces a 
ObjPolygonEdges listing  with a value of 1 and adds an ObjEdgeColor 
listing (see below) when turned on.  When turned off, this function does 
not produce a listing in the scene file.

<flag>:	0 - Off (No function listing)
	1 - On  (Function listing plus additional listing)


	Additional:     ObjEdgeColor <red value> <green value> <blue value>

	example:     ObjEdgeColor 0 0 255

	The ObjEgdeColor function provides the RGB color values for the 
	object's polygon edges.

	<color value range>:	red value -	0 - 255
				green value -	0 - 255
				blue value -	0 - 255

	User Interface:  The ObjPolygonEdges functions are set from the 
			 Objects Panel.


ShadowOptions <bit-field value>

example:     ShadowOptions 7

The ShadowOptions function provides the shadowing characteristics for 
the current object.

The bit-field value is produced by calculating the decimal value of a 
3 position bit-field whose bits represent logical on/off switches that 
are number left to right from 0 to 2.  The least-significant bit for this 
field is the rightmost bit.   Each shadow option has a corresponding bit 
in the bit-field.  When a shadow option is turned on, its bit (or switch) 
is turned on.

<bit position>:	0 - Self Shadow
		1 - Cast Shadow
		2 - Receive Shadow 

The ShadowOptions function produces a listing for all objects.

User Interface:  The shadow options function is set from 
		 the bottom of the Objects Panel.



3.3  OBJECT SKELETON


3.3.1  Object Skeleton Information

  The Object Skeleton Section is a series of one or more bone descriptions 
  that are listed within an object segment.

  An object skeleton does not appear in all object segments.  It is listed 
  when at least one bone has been added to an object.

  Multiple bones in an object segment are listed sequentially in the 
  order in which they were created.


3.3.2 Example Object Segment with Bones

Below is an example of an object segment that contains one bone:

LoadObject Objects/Tutorial/Arm.lwo
ShowObject 4 7
ObjectMotion (unnamed) 
 9
 2 
-1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
1.0   1.0    1.0  0  0  1.0   0.0   0.0 
-1.321534   2.235439  2.164330  -60.000000  360.000000 180.000000   
1.0   1.0    1.0  15  0  1.0   0.0   0.0 
EndBehavior 1

AddBone
BoneName Bone
ShowBone 1 7
BoneActive 1
BoneRestPosition 0.000000 5.000000 11.000000
BoneRestDirection 179.000000 -0.620000 0.000000
BoneRestLength 7.500000
ScaleBoneStrength 1
BoneStrength 1.000000
BoneMotion (unnamed)
 9
 2
-4.40173 19.4 24.5796 373.551 -4.4 0 1 1 1
0 0 0 0 0
-4.00753 19.1294 20.6751 366.985 -0.379068 0 1 1 1
10 0 0 0 0
EndBehavior 1
ShadowOptions 7


3.3.3  Object Skeleton Function Order

The following object skeleton functions are listed in the order in which they 
appear in the scene file.

  Functions denoted with an asterisk (*) are required for all object instances.

  Italicized entries denote function labels and are not true function names .

  Indented entries denote an optional function of the preceding function.

		AddBone *

		BoneName *

		ShowBone *

		BoneActive *

		BoneRestPosition *

		BoneRestDirection *

		BoneRestLength *

		ScaleBoneStrength *

		BoneStrength *

		BoneLimitedRange

			BoneMinRange

			BoneMaxRange

		BoneMotion (identifier) *

		Number of Information Channels *

		Number of Keyframes *

		Keyframe Information *

		EndBehavior *

		LockedChannels

		HLimits

		PLimits

		BLimits

		ParentObject

		GoalObject

		IKAnchor


3.3.4  Object Skeleton Function Descriptions

The following object skeleton functions are listed in the order in which 
they appear in the scene file.  Functions that do not have a local User 
Interface: description are located on the Object Skeleton control panel 
accessed from the Objects Panel.



AddBone

example:  AddBone

The AddBone function is the first function called in an object skeleton.  
It is called for each instance of a bone loading.  This function will add 
a bone to the current object and produce a series of function listings for 
this bone.


BoneName  Bone ¦ <string>

example:  BoneName FootBone

The BoneName function provides a name for the bone created with the AddBone 
function.  If the user renames the bone using the Rename Bone function from 
the Object Skeleton control panel the string is listed following the function 
name.  If the user does not rename the bone, it is given the default name 
of Bone.  If multiple bones instances have the same name, duplicate bones 
are given a numbered suffix to the name during the loading/creation process.  
This number is enclosed in parenthesis and follows the bone name.  

An example:  FootBone (2) is the second instance of a bone with the name 
FootBone.  The suffix is not saved in the scene file, and is used only as 
a user reference.


ShowBone  <refresh value> <color value> 

example:     ShowBone 1 2

The ShowBone function determines how the bone is going to be displayed in 
Layout.  The above example would display this (as opposed to hiding it) as
a green bone.

 Refresh value

This argument sets the bones display type in Layout.

<Refresh value>:	0 - No Refresh (Hide)
			1 - Refresh (Show)

User Interface:  The refresh value is selected in the second column of the 
		 Scene Overview from the Scene Menu.  	

 Color value

This argument sets the color of the bone when not selected in Layout.  
When selected, all items highlight to yellow.

<Color value>:	1 - Blue
		2 - Green
		3 - Light Blue
		4 - Red
		5 - Purple
		6 - Orange
		7 - Gray

User Interface: The color value is selected in the first column of the 
		Scene Overview from the Scene Menu.


BoneActive <flag>

example:  BoneActive 1

The BoneActive flag activates the bone in layout and will allow it to begin 
deforming the object's geometry.  This function produces a BoneActive 
listing  with a value of 1 when turned on.  When turned off, this function 
does not produce a listing in the scene file.

<flag>:	0 - Off (No function listing)
	1 - On

User Interface:  This function is set from the Object Skeleton control 
		panel or by the keyboard shortcut of <r> for rest.

The BoneActive function is listed for all bones.


BoneRestPosition <x position> <y position> <z position>

example:  BoneRestPosition 0.500000 0.200000 1.35000

The BoneRestPosition function provides the initial rest x, y, z position 
of the bone.  In this position, the bone does not influence (distort) the 
object geometry.  

User Interface:  The BoneRestPosition function is set from the 
		 Object Skeleton control panel or by the keyboard 
		 shortcut of <r> for rest.

The BoneRestPosition function is listed for all bones.


BoneRestDirection <Heading angle> <Pitch angle> <Bank angle>

example:  BoneRestDirection 39.000000 7.900000 0.000000

The BoneRestDirection function provides the initial rest H,P,B rotations 
of the bone.  In this position, the bone does not influence (distort) the 
object geometry.

User Interface:  The BoneRestDirection function is set from the Object 
		 Skeleton control panel or by the keyboard shortcut of <r> 
		 for rest.

The BoneRestDirection function is listed for all bones.


BoneRestLength <float>

example:  BoneRestLength 1.078000

The BoneRestLength function provides the initial rest length of the bone.  
This is the "size" of the bone in Layout.

User Interface:  The BoneRestLength function is set from the Rest Length 
		 field on the Object Skeleton control panel or by the 
		 Rest Length mouse control in Layout.

The BoneRestLength function is listed for all bones.


ScaleBoneStrength <flag>

example:  ScaleBoneStrength 1



The ScaleBoneStrength flag  turns the ScaleBoneStrength function on.  The 
listing is produced by the Scale Strength by Rest Length check box on the 
Object Skeleton control panel.  This function allows the user to either 
lock the bone strength to the rest length of the bone, or to adjust them 
separately.  This function produces a ScaleBoneStrength listing  with a 
value of 1 when turned on.  

<flag>:	0 - Off (Default)
	1 - On (Scale Strength by Rest Length)

User Interface:  The ScaleBoneStrength function is set from the Scale 
		 Strength by Rest Length check box on the Object Skeleton 
		 control panel.

The ScaleBoneStrength flag is listed for all bones.


BoneStrength <float>

example:  BoneStrength 2.500000

The BoneStrength function provides the strength of a bone that is separate 
from it's rest length.  This functions value is used when the ScaleBoneStrength 
flag is turned off (0).  When the ScaleBoneStrength function is turned on, 
the bone strength is equal to the BoneRestLength.

User Interface:  The BoneStrength functions value is set from the Strength 
		 field on the Object Skeleton control panel.

The BoneStrength function is listed for all bones.


BoneMotion (unnamed) 

example:     BoneMotion (unnamed)

The BoneMotion identifier denotes the beginning of the keyframe information 
for the current bone segment.  It does not require any arguments to be passed 
to it.

The BoneMotion identifier is listed with all bones.


Number of Information Channels:  <9>

The Number of Information Channels is a numeric value with no header that 
follows the BoneMotion identifier.  The value for the number of information 
channels is equal to the number of variables to be provided per keyframe.  
For LightWave bone keyframes, the variables are listed as follows:  
X position, Y position, Z position, Heading, Pitch, Bank, X Scale, Y Scale, 
and Z Scale.   For bone motions, the number of information channels value 
is automatically set to 9 by LightWave.  The user has no access to this value.  

User Interface: None

The number of information channels is listed with all bones.


Number of Keyframes:  <int>

The Number of Keyframes is an integer value with no header that follows the 
Number of Information Channels.  This value provides the number of keyframes 
for the current bone.  It is immediately followed by the keyframe information.  
Every bone will have at least one keyframe at frame 0.  

User Interface:  The number of keyframes is taken from the motion path the 
user creates for a bone.  

The Number of Keyframes is listed with all bones.


Keyframe Information:

-1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
1.0   1.0   1.0  15  0  1.0   0.0   0.0 

The values are listed as follows:

1st Line:

XPosition, YPosition, ZPosition, Heading, Pitch, Bank

2nd Line:

XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias

At least one keyframe (frame 0) is listed for each bone.

(See Section 1.3 Keyframes)


EndBehavior <value>

example:     EndBehavior 2

The EndBehavior function determines how the bone will react when the last 
keyframe has been reached. The available choices are: reset, stop and repeat.  

<value>:	0 - Reset
		1 - Stop (Default)
		2 - Repeat

User Interface: The EndBehavior value is set from the bone's motion graph panel.

The EndBehavior option is listed with all bones.


LockedChannels <bit-field value>

example:     LockedChannels 4093

The LockedChannels function determines the extent of the mouse control from 
LightWave's Layout.  Separate independent channels of motion, rotation, etc. 
can be locked off to restrict the mouse's  control on the current bone.  The 
mouse functions that it can effect are:  Move (X,Y,Z), Rotate(H,P,B), 
Scale/Stretch(X,Y,Z), and RestLength(X,Y,Z).

The value is produced by calculating the decimal value of a 12 position 
bit-field whose bits represent logical on/off switches that are number left 
to right from 0 - 11.  The least-significant bit for this field is the 
rightmost bit.  Each channel has a corresponding bit in the bit-field.  
When a channel is locked, its bit (or switch) is turned on.

<bit positions>:	 0 - Move X
			 1 - Move Y
			 2 - Move Z
			 3 - Rotate Heading
			 4 - Rotate Pitch
			 5 - Rotate Bank
			 6 - Scale X / Size X  (channels are connected)
			 7 - Scale Y / Size Y (channels are connected)
			 8 - Scale Z / Size Z (channels are connected)
			 9 - RestLength X
			10 - RestLength Y
			11 - RestLength Z

User Interface:  The LockedChannels function is set from the Layout mouse 
		 control area.


HLimits <min. angle> <max. angle>

example:    HLimits -37.5 180

The HLimits function provides the minimum and maximum angles of heading 
rotation for the Inverse Kinematics function.  

<min. angle>,<max. angle>:  Range = -360 to 360

User Interface:  The HLimits angles are set from the IK Options controls 
		 from Layout.


PLimits <min. angle> <max. angle>

example:    PLimits -37.5 180

The PLimits function provides the minimum and maximum angles of the pitch 
rotation for the Inverse Kinematics function.  

<min. angle>,<max. angle>:  Range = -360 to 360

User Interface:  The PLimits angles are set from the IK Options controls 
		 from Layout.


BLimits <min. angle> <max. angle>

example:    BLimits -37.5 180

The BLimits function provides the minimum and maximum angles of the banking 
rotation for the Inverse Kinematics function.  

<min. angle>,<max. angle>:  Range = -360 to 360

User Interface:  These angles are set from the IK Options controls from Layout.


ParentObject <bone instance>

example:     ParentObject 4

The ParentObject function provides LightWave with the current bone's parent 
bone in the hierarchical chain.  The value is equal to the parent bone 
position in the loading/creation sequence.  The example function would parent 
the current bone to the fourth bone instance in the scene file.  When the 
ParentObject function is active, all keyframe information for the bone 
becomes an offset from the parents information.

User Interface:  Bone hierarchies are created by one of two methods.  
		 The First is created by selecting the parent function from 
		 layout.  The parent bone is then selected from the pop-up 
		 listing provided.  The second method is to use the add child 
		 bone 	function from the Object Skeleton control panel.


GoalObject <object instance>

example:  GoalObject 5

The GoalObject function provides LightWave with the current bone's goal 
object for an inverse kinematics chain.  The value is equal to the goal 
object position in the loading sequence.  The example function would goal 
the current bone to the fifth object instance in the scene file.

User Interface:  The GoalObject function is set from the IK options from Layout.


IKAnchor <flag>

example:  IKAnchor 1

The IKAnchor function sets the current bone as an anchor bone in an inverse 
kinematics chain.  The predecessors of this bone would not be affected by 
the goal of its children.

<flag>:	0 - Off (No function listing)
	1 - On  (Function listing)

User Interface:  The IKAnchor function is set from the IK options from Layout.




3.4  DISPLACEMENT MAP / CLIP MAP


3.4.1 Displacement Map/Clip Map Information

  The DisplacementMap function deforms the geometry of an object using either 
  image maps or procedural textures.

  The ClipMap function "clips" or removes parts of an object's geometry using 
  either image maps or procedural textures.

  Two types of mapping available to these functions.  An image map or a 
  built-in procedural texture can be used with these functions.


3.4.2 Example Object Segment with Displacement Map

Below is an example of an object segment that contains a ripple displacement map:


LoadObject Objects/Tutorial/LightBeam.lwo
ShowObject 4
ObjectMotion (unnamed) 
 9
 2 
-1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
1.0   1.0    1.0  0  0  1.0   0.0   0.0 
-1.321534   2.235439  2.164330  -60.000000  360.000000 180.000000   
1.0   1.0    1.0  15  0  1.0   0.0   0.0 
EndBehavior 1
DisplacementMap Ripples
TextureFlags 13
TextureSize 1 1 1
TextureCenter 5 5 0
TextureAmplitude 0.250000
TextureInt0 3
TextureFloat0 0.500000
TextureFloat1 0.025000
ShadowOptions 7



3.4.3  Mapping Function Order


The following mapping functions are listed in the order in which they appear 
in the scene file.

Functions denoted with an asterisk (*) are required for all mapping instances.

		DisplacementMap ¦ ClipMap *

		TextureImage *  (Image Mapping only)

		TextureFlags *

		TextureAxis *  (Image Mapping only)

		TextureSize *

		TextureCenter

		TextureFalloff

		TextureVelocity

		TextureAmplitude ¦  TextureValue

		TextureInt(index)   (Multiple instances possible) 

		TextureFloat(index)   (Multiple instances possible)



3.4.4 Mapping Function Descriptions


The following functions are listed in the order in which they appear in the 
scene file.


DisplacementMap <mapping type> ¦ Clip Map <mapping type> 


 DisplacementMap <projection type> ¦ <procedural texture>

The DisplacementMap function is the first line of a Displacement Map segment.  
It provides the mapping type and selection.

	- Image Mapping

	example:  DisplacementMap cylindrical image map

	If image mapping is used,  the argument of the projection type is 
	provided.  This  mapping type produces additional listings for the 
	TextureImage and the TextureAxis functions .

	<projection type>:	Planar Image Map
				Cylindrical Image Map
				Spherical Image Map

	- Procedural Texture Mapping

	example:  DisplacementMap Ripples

	If procedural texture mapping is used, the argument of a texture name 
	is provided.  This mapping type produces the additional listings given 
	with each procedural below:

	<procedural type>:	

			Ripples:
				TextureInt0 <int>	- Wave Sources

				TextureFloat0 <float>	- Wavelength

				TextureFloat1 <float>	- Wave Speed

			Fractal Bumps: 
				TextureInt0 <int>	- Frequencies



	

- ClipMap <projection type> ¦ <procedural texture>

The ClipMap function is the first line of a Clip Map segment.  It provides 
the mapping type and selection.

	- Image Mapping

	If image mapping is used, the argument of the projection type 
	is provided.  This mapping type produces an additional listing for 
	the TextureImage and TextureAxis functions.

	example:  ClipMap Planar Image Map

	<projection type>:	Planar Image Map
				Cylindrical Image Map
				Spherical Image Map
				Cubic Image Map
				Front Projection Map


	- Procedural Texture Mapping

	example:  ClipMap Underwater

	If procedural texture mapping is used, the argument of a texture name 
	is provided.  This mapping type produces the additional listings 
	given with each procedural below:			

	<procedural texture>:	
		Checkerboard:	no additional listings.

		Grid:		TextureFloat0 <float>	 - Line Thickness

		Dots:		TextureFloat0 <float>	- Dot Diameter
				TextureFloat1 <float>	- Fuzzy Edge Width


		Marble:		TextureInt0 <int>	- Frequencies
				TextureFloat0 <float>	- Turbulence
				TextureFloat1 <float>	- Vein Spacing
				TextureFloat2 <float>	- Vein Sharpness


		Wood:		TextureInt0 <int>	- Frequencies
				TextureFloat0 <float>	- Turbulence
				TextureFloat1 <float>	- Ring Spacing
				TextureFloat2 <float>	- Ring Sharpness


		Underwater:	TextureInt0 <int>	- Wave Sources
				TextureFloat0 <float>	- Wavelength
				TextureFloat1 <float>	- Wave Speed
				TextureFloat2 <float>	- Band Sharpness


		Fractal Noise:	TextureInt0 <int>	- Frequencies
				TextureFloat0 <float>	- Contrast


		Bump Array:	TextureFloat0 <float>	- Radius
				TextureFloat1 <float>	- Spacing
				TextureFloat2 <float>	- Bump Strength


		Crust:		TextureFloat0 <float>	- Coverage
				TextureFloat1 <float>	- Ledge Level
				TextureFloat2 <float>	- Ledge Width
 				TextureFloat3 <float>	- Bump Strength


		Veins:		TextureFloat0 <float>	- Coverage
				TextureFloat1 <float>	- Ledge Level
				TextureFloat2 <float>	- Ledge Width
				TextureFloat3 <float>	- Bump Strength

			
TextureImage <path + filename> [ (sequence) ]

example:  TextureImage Images\LWLogo.tga

The TextureImage function provides the path and filename for the image to 
be loaded.  The path is generated by checking the current content directory 
for the listed filename.  

In this example if the current content directory is <c:\NewTek>, LightWave 
would attempt to load the file <c:\NewTek\Images\LWLogo.tga>.

It is possible to use image sequences as texture images.  If an image 
sequence is chosen, a sequence identifier is appended to the image path 
and filename.  An image sequence also produces an additional ImageSequenceInfo 
listing. (See Image Sequences Section 1.5)


TextureFlags <bit-field value>

example:  TextureFlags 12

The TextureFlags function provides additional texture settings.  

The bit-field value is produced by calculating the decimal value of a 
4 position bit-field whose bits represent logical on/off switches that 
are number left to right from 0 - 3.  The least-significant bit for 
this field is the rightmost bit.  Each channel has a corresponding bit 
in the bit-field.  When a texture setting  is chosen, its bit (or switch) 
is turned on.

<bit positions>:	0 - World Coordinates
			1 - Negative Image
			2 - Pixel Blending
			3 - Antialiasing


TextureSize <X size> <Y size> <Z size>

example:  TextureSize 1.5 2 5.25

The TextureSize function provides the x, y and z dimensions of the image 
map or the procedural texture.

The arguments are given in meters.


TextureCenter <X position> <Y position> <Z position>

example:  TextureCenter 5 5 10

The TextureCenter function provides the X, Y, and Z positions of the center 
of the image map or the procedural texture.

The argument are given in meters from the origin (0,0,0)


TextureFalloff <X percentage> <Y percentage> <Z percentage>

example:  TextureFalloff 25 10.5 25

This function provides the percentage of falloff per meter in the X, Y and Z 
directions.

The arguments are given in percentage per unit measure (meter).


TextureVelocity <X  velocity> <Y velocity> <Z velocity>

example:  TextureVelocity 2.5 0 0

The TextureVelocity function provides the velocity of image map or procedural 
texture.  The value given is the value in units per frame.  The example would 
move the center of the texture 2.5 meters per frame in the positive x direction.


Texture Amplitude <float>  / Texture Value <percentage>

	-  TextureAmplitude (Displacement map only)

	example:  TextureAmplitude .25

	The TextureAmplitude function provides the amplitude (offset amount) 
	for the displacement map.

	-  TextureValue (Clip map only)

	example:  TextureValue 0.500000

	The TextureValue function provides a percentage value for the texture.


TextureInt(index) <int>   (Multiple Instances Possible)

example:  TextureInt0 3

The TextureInt function provides an integer value for a parameter of the 
texture selected in the DisplacementMap or ClipMap functions.  This function
may be called multiple times, each time the index is incremented and added to 
the function name.  For instance, the third parameter that required an integer 
value would be TextureInt2.


TextureFloat(index) <float>  (Multiple Instances Possible)

example:  TextureFloat2 0.250000

The TextureFloat function provides a floating point value for a parameter of a 
texture selected in the DisplacementMap or ClipMap functions.  This function 
may be called multiple times, each time the index is incremented and added to 
the function name.  For instance, the third parameter that required a floating 
point value would be TextureFloat2.





Chapter 4:			LIGHT SECTION


4.1  LIGHT SECTION INFORMATION


4.1.1 Light Section Description


  The Light Section contains all of the information that pertains to the 
  lights in a LightWave scene.

  LightWave loads and lists all lights in the order in which they appear 
  in the scene file.

  Duplicate light names are given a numbered suffix during the loading 
  process.  This number is enclosed in parenthesis and follows the light 
  name.  An example:  HeadLight (3) is the third instance of the light 	
  name HeadLight.  The number is not saved in the scene file, and is 
  used only as a user reference.

  The Target and Parent functions use a value that is equal to the order 
  in which the referenced object was loaded in the scene.  i.e. The value 
  in the function ParentObject 3 means that the current light is parented 
  to the third object instance in the scene file.



4.1.2 Individual Light Segment


	Preceding Scene and Object sections......

AmbientColor 255 255 255
AmbIntensity 0.250000
AddLight
LightName Light
ShowLight 0 7
LightMotion (unnamed)
 9
 1
 0 0 0 60 30 0 1 1 1 
 0 0 0 0 0 
EndBehavior 1
LightColor 255 255 255
LgtIntensity 1.000000
LightType 2
FallOff 0.000000
ConeAngle 30.000000
EdgeAngle 5.000000
ShadowCasting 1

	Additional Scene Listings.......



4.2  LIGHT FUNCTIONS


4.2.1 Function Order

The following is a list of light functions that are listed in the order 
in which they appear in the scene file.


  Functions denoted with an asterisk (*) are required for all light 
  loading instances.

  Italicized entries denote function labels and not true function names.

  Indented entries denote an optional function of the preceding function.

  Optional functions will produce a listing only when activated by the 
  user.

		AmbientColor  *

		AmbIntensity  *

		GlobalFlareIntensity (envelope)

		EnableLensFlare

		EnableShadowMaps

		AddLight  *

		LightName *

		ShowLight *

		LightMotion (identifier) *

		Number of Information Channels *

		Number of Keyframes *

		Keyframe Information *

		EndBehavior *

		LockedChannels

		ParentObject

		TargetObject

		LightColor *

		LgtIntensity *

		LightType *

		Falloff  (Point & Spot only)

		ConeAngle  (Spot only)

		EdgeAngle  (Spot only)

		LensFlare

			FlareIntensity

			FlareDissolve

			LensFlareFade

			LensFlareOptions

			FlareRandStreakInt

			FlareRandStreakDens

			FlareRandStreakSharp

		ShadowCasting *

		ShadowMapSize  (Spot only w/ Shadow Map)

		UseConeAngle  (Spot only w/ Shadow Map)

			ShadowMapAngle 

		ShadowFuzzines  (Spot only w/ Shadow Map)



4.2.2 Function Descriptions

The following functions are listed in the order in which they appear in 
the scene file.

AmbientColor and AmbientIntensity are functions that are called once to 
set up the ambient lighting in a scene.  GlobalFlareIntensity, 
EnableLensFlare, and EnableShadowMaps are all global functions that 
effect all lights in a LightWave scene.  They are also called just once.

Beginning with AddLight, all functions following can be called for each 
light instance in a scene file. 


AmbientColor <Red value> <Green value> <Blue value>

example:  AmbientColor 200 200 200

The AmbientColor function provides the RGB color values for the ambient 
lighting in the scene.

<value range>:	Red value - 	0 - 255
		Green value - 	0 - 255
		Blue value - 	0 - 255


AmbIntensity <percentage> ¦ (envelope)

example:  AmbIntensity 0.250000

The AmbientIntensity function provides the intensity of the ambient light 
in the scene.  The functions percentage value can be changed over time 
with an envelope.  If an envelope is chosen, the functions value is 
replaced with an envelope identifier.


GlobalFlareIntensity (envelope)

The GlobalFlareIntensity function provides an envelope to fluctuate the 
intensity of all lens flares in the scene at the same time.  This function 
does not have the option for a single percentage, it is adjusted only 
through an envelope.


EnableLensFlare <flag>

example:  EnableLensFlare 0

This function sets a global flag that enables/disables all lens flares 
in the scene.  This function produces a listing only when disabled (0).   

<flag>:		0 - Off
		1 - On (Default : No function listing)


EnableShadowMaps <flag>

example:  EnableShadowMaps 0

This function sets a global flag the enables/disables the calculation of 
shadow maps for all lights.  This function produces a listing only when 
disabled (0).

<flag>:		0 - Off
		1 - On (Default: No function listing)


AddLight

example:  AddLight

The AddLight function  is the first function in a light segment.    
It is called for each instance in a light in the scene file.


LightName Light ¦ <string>

example:  LightName HeadLight

This function provides a name for the light created with the AddLight 
function.  If the user renames the light using the Rename Light function 
from the Light menu, the string is listed following the function name.  
If the user does not rename the light, it is given the default name of 
Light.  If multiple light instances have the same name, duplicate light 
names are given a numbered suffix to the name during the loading/creation 
process.  This number is enclosed in parenthesis and follows the light name.  

An example:  HeadLight (2) is the second instance of a HeadLight.  The 
number is not saved in the scene file, and is used only as a user reference.


ShowLight <Refresh value> <Color value>

example:     ShowLight 0 5

The ShowLight function determines how the light is going to be displayed 
in Layout.  The above example would hide this bone until selected.  If it 
were set to visible refresh, it would be purple.

 	Refresh value

This argument sets the lights display type in Layout.  

<Refresh value>:	0 - No Refresh (Hide)
			1 - Refresh (Show)
		
User:  This value is selected in the second column of the Scene Overview 
from the Scene Menu.  	


 	Color value

This argument sets the color of the light in Layout

<Color value>:	1 - Blue
		2 - Green
		3 - Light Blue
		4 - Red
		5 - Purple
		6 - Orange
		7 - Gray

User: This value is selected in the first column of the Scene Overview 
from the Scene Menu.


LightMotion (unnamed)

example:     LightMotion (unnamed)

This is a light motion label for the keyframe information of the current 
light segment.  It does not require any arguments to be passed to it.

The LightMotion identifier is listed with all light instances.


Number of Information Channels:  <9>

This is a numeric value with no header that follows the LightMotion 
identifier.  The value for the number of information channels is equal 
to the number of variables to be provided per keyframe.  For LightWave 
keyframes, the variables are listed as follows:  X position, Y position, 
Z position, Heading, Pitch, Bank, X Scale, Y Scale, and Z Scale.  For 
light motions, the number of information channels value is automatically 
set to 9 by LightWave.  The user has no access to this value.  

The number of information channels is listed with all light instances.


Number of Keyframes:  <int>

This is a numeric value with no header that follows the Number of 
Information Channels.  This value provides the number of keyframes for 
the current light.  It is immediately followed by the keyframe information.  
Every light instance  will have at least one keyframe at frame 0.  


The Number of Keyframes is listed with all light instances.


Keyframe Information:

-1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
1.0   1.0   1.0	  15  0  1.0   0.0   0.0 

The values are listed as follows:

1st Line:

XPosition, YPosition, ZPosition, Heading, Pitch, Bank

2nd Line:

XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias

At least one keyframe (frame 0) is listed for each light.

(See Section 1.3 Keyframes)


EndBehavior <value>

example:     EndBehavior 2

The EndBehavior function determines how the light will react when the 
last keyframe has been reached. The available choices are:  reset, stop 
and repeat.  The default setting is stop.  

<value>:	0 - Reset
		1 - Stop (Default)
		2 - Repeat

User: This value is set from the light's motion graph panel.

The EndBehavior option is listed with all lights.


LockedChannels <bit-field value>

example:     LockedChannels 4093

This function determines the extent of the mouse control from LightWave's 
Layout.  Separate independent channels of motion, rotation, etc. can be 
locked off to restrict the mouse's  control on each channel.  The mouse 
functions that it can effect are:  Move (X,Y,Z), Rotate(H,P,B), 
Scale/Stretch(X,Y,Z), and RestLength(X,Y,Z).

The value is produced by calculating the decimal value of a 6 position 
bit-field whose bits represent logical on/off switches that are numbered 
left to right from 0 to 5.  The least significant bit for this field is 
the rightmost bit.  Each channel has a corresponding bit in the bit-field.  
When a channel is locked, it 's  bit (or switch) is turned on.

<bit positions>:	0 - Move X
			1 - Move Y
			2 - Move Z
			3 - Rotate Heading
			4 - Rotate Pitch
			5 - Rotate Bank

User:  This function is set from the Layout mouse control area.


ParentObject <object instance>

example:     ParentObject 4

This function provides LightWave with the current lights parent object 
in the hierarchical chain.  The value is equal to the parent objects 
position in the loading/creation sequence.  The example function would 
parent the current light to the fourth object instance in the scene file.  
When the ParentObject function is active, all keyframe information for 
the light becomes an offset from the parents information. 


TargetObject <object instance>

example:  TargetObject 3

This function provides LightWave with the current lights target object 
in the scene.  The value is equal to the target object's position in the 
loading/creation sequence.  The example function would target the current 
light to the fourth object instance in the scene file. 


LightColor <Red value> <Green value> <Blue value>

example:  LightColor 200 200 150

The LightColor function provides the RGB color values for the light that 
is cast from the current light source.

<value range>:	Red value - 	0 - 255
		Green value - 	0 - 255
		Blue value - 	0 - 255


LgtIntensity <percentage> ¦ (envelope)

example:  LgtIntensity 0.750000

This function provides the intensity of the current light source as a 
percentage value.  This is equivalent to the "brightness of the light 
source".  The intensity value can go above 100%.  The function's value 
can be changed over time with an envelope.  If an envelope is chosen, 
the functions value is replaced with an envelope identifier.  

User:  This function is set from the Light Intensity field on the Lights 
Panel.


LightType <value>

example:  LightType 0

The LightType function provides type of light source for the current 
light instance.  

<value>:	0 - Distant
		1 - Point
		2 - Spot

User:  This function's value is chosen from the Light Type selections 
on the Lights Panel.


Falloff <percentage> ¦ (envelope)

example:  Falloff 0.350000

The Falloff function provides the percentage of light intensity falloff 
per meter.  This function is only used by Point (LightType 1) and 
Spot (LightType 2) lights.  This function's percentage can be fluctuated 
over time with an envelope.  If an envelope is chosen, the functions value 
is replaced with an envelope identifier.

User:  This function is set from the Intensity Falloff field on the 
Lights Panel.


ConeAngle <angle> ¦ (envelope)

example:  ConeAngle 30.000000

The ConeAngle function provides the degree angle of the light cone 
projected from the current light source.  This function only applies 
to Spot Lights (LightType 2).  This function's angle can be fluctuated 
over time with an envelope.  If an envelope is chosen, the functions 
value is replaced with an envelope identifier.

User:  This function is set from the SpotLight Cone Angle field on the 
Lights Panel.


EdgeAngle <angle> ¦ (envelope)

example:  EdgeAngle 5.000000

The EdgeAngle function provides the degree angle for the soft edge of 
the light cone projected from the current light source.  This function 
only applies to SpotLights (LightType 2).  This function's angle can be 
fluctuated over time with an envelope.  If an envelope is chosen, the 
function's value is replaced with an envelope identifier.

User:  This functions value is set from the Spot Soft Edge Angle field 
on the Lights Panel.


LensFlare <flag>

example:  LensFlare 1

This flag turns the LensFlare function on.  This function produces a 
LensFlare listing with a value of 1 and additional function listings 
when turned on.  When turned off, this function does not produce a 
listing in the scene file.

User:  This function is activated from the Lens Flare check box on the 
Lights Panel.

	Additional:  FlareIntensity <percentage> ¦ (envelope)

	example:  FlareIntensity 0.750000

	This function provides the intensity/size of the lens flare.  
	The intensity can be fluctuated with an envelope.

	User:  This function's value is set in the Flare Intensity field 
	from the Lens Flare Options Panel.


	Additional:  FlareDissolve <percentage> ¦ (envelope)

	example:  FlareDissolve 0.350000

	This function provides the percentage of dissolve of the current 
	light's lens flare.  The dissolve can be fluctuated with an envelope.

	User:  This function's value is set on the Flare Dissolve field 
	from the Lens Flare Options Panel.


	Additional:  LensFlareFade <bit-field value>

	example:  LensFlareFade 4

	This function determines the fade options for the current light's 
	lens flare.

	The value is produced by calculating the decimal value of a 5 position 
	bit-field whose bits represent logical on/off switches that are 
	numbered left to right from 0 - 4.  The field's least-significant bit 
	is the rightmost bit.  Each lens flare fade option has a corresponding 
	bit in this bit-field.  When an option is selected, it's bit (or 
	switch) is turned on.

	<bit position>:	0 - RESERVED
			1 - Fade With Distance
			2 - Fade Off Screen
			3 - Fade Behind Objects
			4 - Fade In Fog


	Additional:  LensFlareOptions <bit-field value>

	example:  LensFlareOptions 85

	This function provides the flare settings for the current light's 
	lens flare.

	The value is produced by calculating the decimal value of a 10 position 
	bit-field whose bits represent logical on/off switches that are 
	numbered left to right from 0 - 9.  The field's least-significant 
	bit is the rightmost bit.  Each lens flare option has a corresponding 
	bit in this bit-field.  When an option is selected, it's bit (or 
	switch) is turned on. 

	<bit positions>:	0 - Central Glow + Red Outer Glow
				1 - Central Ring
				2 - Star Filter
				3 - Random Streaks
				4 - Lens Reflections
				5 - Suppress Red Outer Glow
				6 - Anamorphic Distort
				7 - Anamorphic Streaks
				8 - Off Screen Streaks
				9 - Glow Behind Objs


	Additional:  FlareRandStreakInt <percentage>

	example:  FlareRandStreakInt 0.030000

	The FlareRandStreakInt function provides the percentage of intensity 
	for the current light's random streaks.


	Additional:  FlareRandStreakDens <float>

	example:  FlareRandStreakDens 0.500000

	The FlareRandStreakDens function provides a floating point value for 
	the density of the current light's lens flare random streaks.


	Additional:  FlareRandStreakSharp <float>

	example:  FlareRandStreakSharp 0.060000

	The FlareRandStreakSharp function provides a floating point value 
	for the density of the current light's lens flare random streaks.


ShadowCasting <value>

example:     ShadowCasting 7

The ShadowCasting function determines what type of shadows the current 
light is going to produce during the rendering process.  This function 
chooses the type of shadow rendering, but it does not initiate the 
process.  Additional functions must be activated to turn the shadowing 
process on.  For Raytrace Shadows, the Camera function, RayTraceEffects 
must include the TraceShadows option.  For ShadowMap Shadows the Light 
function: EnableShadowMaps must be set to 1.

<value>:	0 - No Shadows
		1 - Raytrace Shadows
		2 - ShadowMap Shadows


ShadowMapSize <int>

example:  ShadowMapSize 512

The ShadowMapSize function sets the amount of memory, in bytes, that the 
current light is going to allocate for it's shadow map calculations.  
A higher memory size will result in a smoother shadow map.


UseConeAngle <flag>

example:  UseConeAngle 1

This flag determines whether the shadow map will use the light's cone 
angle or a separate angle for the shadowmap calculations.  If the flag 
is turned off, an additional function listing for ShadowMapAngle is produced.

<flag>	0 - Use angle from ShadowMapAngle
	1 - Use Cone Angle


	additional:  ShadowMapAngle <angle>

	example:  ShadowMapAngle 0.450000

	This function provides the angle for the shadow map calculations 
	if the UseConeAngle function is turned off.


ShadowFuzziness <float>

example:  ShadowFuzziness 1.000000

The ShadowFuzziness function provides a floating point value for the edge 
softness of the current light's shadow map calculations.





Chapter 5:			CAMERA SECTION


5.1  CAMERA SECTION INFORMATION


5.1.1  Camera Section Description


The Camera Section contains all of the information that relates to the 
camera in a LightWave Scene.

  There is only one (1) camera instance per scene file.

  The Target and Parent functions use a value that is equal to the order 
  in which the referenced object was loaded/created in the scene.  i.e. The 
  value given in the example: ParentObject 3  references the third object 
  instance in the scene file.


5.1.2 Example Camera Segment

	Preceding Scene, Object, and Light sections........

ShowCamera 1 7
CameraMotion (unnamed)
 9
 1
 0 0 -1 0 0 0 1 1 1 
 0 0 0 0 0 
EndBehavior 1
ZoomFactor 3.200000
RenderMode 2
RayTraceEffects 0
Resolution 1
PixelAspectRatio 0
SegmentMemory 88000000
Antialiasing 0
AdaptiveSampling 1
AdaptiveThreshold 8
FilmSize 2
FieldRendering 0
MotionBlur 0
DepthofField 0

	Additional Scene Listings.......



5.2 CAMERA FUNCTIONS


5.2.1 Function Order


The following is a list of light functions that are listed in the order in 
which they appear in the scene file.


  Functions denoted with an asterisk (*) are required for all light loading 
  instances.

  Italicized entries denote function labels and not true function names.

  Indented entries denote an optional function of the preceding function.

  Optional functions will produce a listing only when activated by the user.

		ShowCamera *

		CameraMotion (identifier) *

		Number of Information Channels *

		Number of Keyframes *

		Keyframe Information *

		EndBehavior *

		LockedChannels

		ParentObject

		TargetObject

		ZoomFactor *

		RenderMode *

		RayTraceEffects *

		Resolution *

		CustomSize

		NTSCWidescreen

		PixelAspectRatio

			CustomPixelRatio

		LimitedRegion

			RegionLimits

		SegmentMemory *

		Antialiasing *

		FilterType

		AdaptiveSampling *

			AdaptiveThreshold

		FilmSize *

		FieldRendering *

			ReverseFields

		MotionBlur *

			BlurLength

		DepthofField *

			FocalDistance

			LensFStop



5.2.2 Function Descriptions

The following functions are listed in the order in which they appear in 
the scene file.


ShowCamera <Refresh value> <Color value>

example:     ShowCamera 0 5

The ShowCamera function determines how the camera is going to be displayed 
in Layout.  The above example would hide the camera until selected.  If it 
were set to visible refresh, it would be purple when not selected.


 Refresh value

This argument sets the camera display type in Layout.  

<Refresh value>:	0 - No Refresh (Hide)
			1 - Refresh (Show)

User:  This value is selected in the second column of the Scene Overview from 
the Scene Menu.  	


 Color value

This argument sets the color of the camera wireframe in Layout.  When the 
camera is selected, the wireframe highlights to yellow. 

<Color value>:	1 - Blue
		2 - Green
		3 - Light Blue
		4 - Red
		5 - Purple
		6 - Orange
		7 - Gray

User: This value is selected in the first column of the Scene Overview from 
the Scene Menu.


CameraMotion (unnamed)

example:     CameraMotion (unnamed)

This is a camera motion label for the keyframe information of the camera.  
It does not require any arguments to be passed to it.

The CameraMotion identifier listing is required for the camera.


Number of Information Channels:  <9>

This is a numeric value with no header that follows the CameraMotion 
identifier.  The value for the number of information channels is equal 
to the number of variables to be provided per keyframe.  For LightWave 
keyframes, the variables are listed as follows:  X position, Y position, 
Z position, Heading, Pitch, Bank, X Scale, Y Scale, and Z Scale.   
For camera motions, the number of information channels value is 
automatically set to 9 by LightWave.  The user has no access to 
this value.  

The number of information channels listing is required for the camera.


Number of Keyframes:  <int>

This is a numeric value with no header that follows the Number of 
Information Channels.  This value provides the number of keyframes 
for the camera.  It is immediately followed by the keyframe information.  
The camera will have at least one keyframe at frame 0.  

The Number of Keyframes listing is required for the camera.


Keyframe Information:

-1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   

1.0   1.0   1.0  15  0  1.0   0.0   0.0 

The values are listed as follows:

1st Line:

XPosition, YPosition, ZPosition, Heading, Pitch, Bank

2nd Line:

XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias

At least one keyframe (frame 0) is listed for the camera.

(See Section 1.3 Keyframes)



EndBehavior <value>

example:     EndBehavior 2

The EndBehavior function determines how the camera will react when the 
last keyframe has been reached. The available choices are:  reset, stop 
and repeat.  The default setting is stop.  

<value>:	0 - Reset
		1 - Stop (Default)
		2 - Repeat

User: This value is set from the camera's motion graph panel.

The EndBehavior listing is required for the camera.


LockedChannels <bit-field value>

example:     LockedChannels 4093

This function determines the extent of the mouse control from LightWave's
Layout.  Separate independent channels of motion, rotation, etc. can be 
locked off to restrict the mouse's  control on each channel.  The mouse 
functions that it can effect are:  Move (X,Y,Z), Rotate(H,P,B), 
Scale/Stretch(X,Y,Z), and RestLength(X,Y,Z).

The value is produced by calculating the decimal value of a 6 position 
bit-field who bits represent logical on/off switches that are numbered 
left to right from 0 to 5.  The least significant bit for this field is 
the rightmost bit.  Each channel has a corresponding bit in the bit-field.  
When a channel is locked, it 's  bit (or switch) is turned on.

<bit positions>:	0 - Move X
			1 - Move Y
			2 - Move Z
			3 - Rotate Heading
			4 - Rotate Pitch
			5 - Rotate Bank

User:  This function is set from the Layout mouse control area.


ParentObject <object instance>

example:     ParentObject 4

This function provides LightWave with the camera's parent object in the 
hierarchical chain.  The value is equal to the parent objects position 
in the loading/creation sequence.  The example function would parent the 
camera to the fourth object instance in the scene file.  When the 
ParentObject function is active, all keyframe information for the camera 
becomes an offset from the parents information. 


TargetObject <object instance>

example:  TargetObject 3

This function provides LightWave with the camera's target object in the 
scene.  The value is equal to the target object's position in the 
loading/creation sequence.  The example function would target the 
camera at the third object instance in the scene file. 


ZoomFactor <float> ¦ (envelope)

example:  ZoomFactor 3.200000

The ZoomFactor function provides a floating point number that represents 
the zoom amount of the camera's lens.  This function can be fluctuated over 
time with an envelope.  If an envelope is chosen, the floating point value 
is replaced with an envelope identifier.


RenderMode <value>

example:  RenderMode 2

The RenderMode function determines the type of rendering for the scene.

<value>:	0 - WireFrame
		1 - Quickshade
		2 - Realistic (Default)


RayTraceEffects <bit-field value>

example:  RayTraceEffects 7

The RayTraceEffects function determines the ray trace options for the scene.

The value is produced by calculating the decimal value of a 3 position 
bit-field whose bits represent logical on/off switches that are numbered 
left to right from 0 - 2.  The field's least-significant bit is the 
rightmost bit.  Each ray trace option has a corresponding bit in this 
bit-field.  When an option is selected, it's bit (or switch) is turned on.

<bit position>:	0 - Trace Shadows
		1 - Trace Reflection
		2 - Trace Refraction


Resolution <value>

example:  Resolution 1

The Resolution function determines the resolution of the rendering in 
the current scene.

<value>:	-1 - Super Low Resolution
		 0 - Low Resolution
		 1 - Medium Resolution
		 2 - High Resolution
		 3 - Print Resolution


CustomSize <Horizontal resolution> <Vertical resolution>

example:  Custom Size 1024 768

The CustomSize function provides the horizontal and vertical pixel 
resolutions for rendering.


NTSCWidescreen <flag>

example:  NTSCWidescreen 1

The NTSCWidescreen flag activates a function that will compress the 
rendered image horizontally.  When this image is displayed in the 
NTSC Widescreen format it will display in the proper aspect.


PixelAspectRatio <value>

example:  PixelAspectRatio 0

The PixelAspectRatio function provides the aspect (shape) of the pixel 
in a rendered image.

<value>:	-1 - Custom (Produces Additional CustomPixelRatio Listing)
		 0 - D2 NTSC
		 1 - D1 NTSC
		 2 - Square Pixels
		 3 - D2 PAL
		 4 - D1 PAL

	Additional:  CustomPixelRatio <float>

	example:  CustomPixelRatio 1.000000

	The CustomPixelRatio function provides a custom pixel aspect for 
	rendering.  The floating point value is the height to width ratio 
	of the needed pixels. 


LimitedRegion <flag>

example:  LimitedRegion 1

The LimitedRegion flag activates the limited region function to render a 
portion of the full camera view.  This function, when activated, produces 
an additional RegionLimits listing.

<flag>:	0 - Off (No Listing)
	1 - On (Listing plus additional RegionLimits listing)


	Additional:  RegionLimits <Left %><Right %><Top %><Bottom %>

	example: RegionLimits 0.50000 1.000000 0.500000 1.000000

	The RegionLimits function provides the dimensions of the area to be
 	rendered for the LimitedRegion function.  The values given are a 
	percentage of screen size.

	<% limits>:	Left 	- 	0.000000 to 0.990000
			Right 	- 	0.010000 to 1.000000
			Top 	- 	0.000000 to 0.990000
			Bottom 	- 	0.010000 to 1.000000


SegmentMemory <bytes>

example: SegmentMemory 88000000

The SegmentMemory determines the amount of memory to be allocated for the 
rendering process.  If the amount of memory is too low, LightWave will 
divide the rendering process into separate segments.


Antialiasing <value>

example:  Antialiasing  2

The Antialiasing function determines the number of antialiasing (smoothing) 
passes that will be used for rendering.

<value>:	0 - Off
		1 - Low Antialiasing (5 passes)
		2 - Medium Antialiasing (9 passes)
		3 - High Antialiasing (17 passes)


FilterType<flag>

example:  FilterType 1

The FilterType flag activates the Soft Filter effect for the rendering process.

<flag>:	0 - Off (No listing)
	1 - On (Listing)


AdaptiveSampling <flag>

example:  AdaptiveSampling 1

The AdaptiveSampling flat activates adaptive sampling for the rendering 
process.  This function, when activated, produces an additional 
AdaptiveThreshold listing.

<flag>:	0 - Off (Listing)
	1 - On (Listing plus additional AdaptiveThreshold listing)


	Additional:  AdaptiveThreshold <int>

	example:  AdaptiveThreshold 8

	The AdaptiveThreshold function provides a value for the level of 
	adaptive sampling during the rendering process.  This value is a 
	threshold, or cutoff level, for the antialiasing process. 


FilmSize <value>

example:  FilmSize 1

The FilmSize function determines what type of film LightWave is going to 
simulate during the rendering process.  This adjusts the optical qualities 
in the cameras adjustment of zoom factor and depth of field.

<value>:	 0 - Super 8 motion picture
		 1 - 16mm motion picture
		 2 - 35mm motion picture (Default)
		 3 - 65mm Super Panavision motion picture
		 4 - 65mm Imax motion picture
		 5 - Size 110 (pocket camera)
		 6 - Size 135 (35mm SLR)
		 7 - Size 120 (60 x 45 mm rollfilm camera)
		 8 - Size 120 (90 x 60 mm rollfilm camera)
		 9 - 1/3 " CCD video camera
		10 - 1/2" CCD video camera


FieldRendering <flag>

example:  FieldRendering 1

The FieldRendering flag activates the field rendering function during the 
rendering process.  This function, when activated, produces an additional 
ReverseFields listing.

<flag>:	0 - Off (Listing)
	1 - On (Listing plus additional ReverseFields listing)

 
	Additional:  ReverseFields <flag>

	example:  ReverseFields 1

	The ReverseFields flag activates the reverse fields function.  
	This function shifts the order in which the fields are rendered.


MotionBlur <bit-field value>

example:  MotionBlur 7

The MotionBlur function determines the active motion blur functions for the 
rendering process.  When particle blur or motion blur are selected, they 
produce an additional BlurLength listing.

The value is produced by calculating the decimal value of a 3 position 
bit-field whose bits represent logical on/off switches that are numbered 
left to right from 0 - 2.  The field's least-significant bit is the 
rightmost bit.  Each motion blur option has a corresponding bit in this 
bit-field.  When an option is selected, it's bit (or switch) is turned on.

<bit position>:	0 - Particle Blur (Additional Listing)
		1 - Motion Blur (Additional Listing)
		2 - Dithered Motion Blur


	Additional:  BlurLength <percentage> ¦ (envelope)

	example:  BlurLength 0.500000

	The BlurLength function provides the amount of blur to be applied 
	during the rendering process.


DepthofField <flag>

example:  DepthofField 1

The DepthofField flag activates the depth of field function for the 
rendering process.  This function, when activated, produces additional 
FocalDistance and LensFStop listings.

<flag>:	0 - Off (Listing)
	1 - On (Listing plus additional Listings)


	Additional:  FocalDistance <Distance> ¦ (envelope)

	example:  FocalDistance 25.0000

	The FocalDistance function provides the distance from the camera of 
	it's focal point.  This distance is given in meters.


	Additional:  LensFStop <float> ¦ (envelope)

	example:  LensFStop 4.000000

	The LensFStop function determines the range of in-focus items from 
	the focal point.  The larger the F-stop, the larger the focal range.





Chapter 6:			EFFECTS SECTION


6.1 EFFECTS SECTION INFORMATION


6.1.1  Effects Section Description

The Effects section contains the information that relates to the different 
effects that are available in a LightWave scene.


6.1.2  Basic Effects Section

	Preceding Scene, Object, Light, and Camera Sections.............

SolidBackdrop 1
BackdropColor 0 0 0
ZenithColor 0 40 80
SkyColor 120 180 240
GroundColor 50 40 30
NadirColor 100 80 60
FogType 0
DitherIntensity 1
AnimatedDither 0

DataOverlayLabel

	Additional Scene Listings...........



6.2  EFFECTS FUNCTIONS


6.2.1  Function Order

The following is a list of Effects functions that are listed in the order in 
which they appear in the scene file.

  Functions denoted with an asterisk (*) are required listings.

  Italicized entries denote function labels and not true function names.

  Indented entries denote an optional function of the preceding function.

  Optional functions will produce a listing only when activated by the user.


		BGImage

		FGImage

		FGAlphaImage

		FGDissolve

		FGFaderAlphaMode

		ForegroundKey

			LowClipColor

			HighClipColor

		SolidBackdrop *

		BackdropColor *

		ZenithColor *

		SkyColor *

		GroundColor *

		NadirColor *

		FogType *

			FogMinDist

			FogMaxDist

			FogMinAmount

			FogMaxAmount

			FogColor

			BackdropFog

		DitherIntensity *

		AnimatedDither *

		Saturation

		GlowEffect

			GlowIntensity

			GlowRadius



		DataOverlay

		DataOverlayLabel *


6.2.2  Function Descriptions

The following functions are listed in the order in which they appear in the
scene file.

BGImage < image path + filename> [(sequence)]

FGImage <image path + filename> [(sequence)]

FGAlphaImage < image path + filename> [(sequence)]

example:  BGImage Images/Sky.tga

example:  BGImage Images/BldColor.tga

example:  FGAlphaImage Images/BldAlpha.tga

The BGImage, FGImage and FGAlphaImage functions provides the path and 
filename for the background, foreground and foreground alpha channel 
images respectively.  The paths are generated by checking the current 
content directory for the listed filenames.  

In these examples if the current content directory is <c:\NewTek>, 
LightWave would attempt to load the files <c:\NewTek\Images\Sky.tga>, 
<c:\NewTek\Images\BldColor.tga> and <c:\NewTek\Images\BldAlpha.tga>.

It is possible to use image sequences for these functions.  If an 
image sequence is chosen, a sequence identifier is appended to the 
image path and filename.  An additional ImageSequenceInfo listing is 
also produced. (See Image Sequences Section 1.5)


	Additional:  ImageSequenceInfo <frame offset> <loop flag> <loop length>

	The ImageSequenceInfo listing is produced only when an image sequence
	is chosen.  It 	provides optional information for the image sequence.  
	(See Image Sequences Section 	1.5)


FGDissolve <percentage> ¦ (envelope)

example:  FGDissolve 0.750000

The FGDissolve function provides the dissolve percentage of the foreground 
image.  This function is most widely used with an envelope to produce a 
smooth fade from a foreground image to the current scene.


FGFaderAlphaMode <flag>

example:  FGFaderAlphaMode 1

The FGFaderAlphaMode flag activates the foreground fader alpha mode.  
This modes provides an additional type of Alpha channel image compositing.

<flag>:	0 - Off (No Listing)

		1 - On (Listing)


ForegroundKey <flag>

example:  ForegroundKey 1

The ForegroundKey flag activates the foreground keying function in the 
image composting process of LightWave.  This function allows the user to 
set a HighClipColor and a LowClipColor for the clipping of the foreground 
image.

<flag>:	0 - Off (No Listing)
	1 - On (Listing plus additional listings)


	Additional:  LowClipColor <Red value> <Green value> <Blue value>

	Additional:  HighClipColor <Red value> <Green value> <Blue value>

	example:  LowClipColor 0 0 0

	example:  HighClipColor 125 125 125


	The LowClipColor and HighClipColor functions provides the "darkest" 
	and the "brightest" RGB color respectively for the ForegroundKey 
	function.

	<color value range>:	Red value -	0 - 255
				Green value -	0 - 255
				Blue value -	0 - 255


SolidBackdrop <flag>

example:  SolidBackdrop 1

The SolidBackdrop flag activates a single color backdrop.  If the flag is
turned off, a gradient backdrop is produced using the RGB color values 
provided in the Backdrop Color, Zenith Color, Sky Color, and Nadir Color 
listings.

<flag>:	0 - Off (Gradient Backdrop)
	1 - On (SolidBackdrop)


BackdropColor <Red value> <Green value> <Blue value>

example:  HighClipColor 125 125 125

The BackdropColor function provides the RGB values for the backdrop color.  
These values are used only when the SolidBackdrop flag is turned on.

<color value range>:	Red value -	0 - 255
			Green value -	0 - 255
			Blue value -	0 - 255


ZenithColor <Red value> <Green value> <Blue value>

SkyColor <Red value> <Green value> <Blue value>

GroundColor <Red value> <Green value> <Blue value>

NadirColor <Red value> <Green value> <Blue value>

example:  ZenithColor 0 40 80

example:  SkyColor 120 180 240

example:  GroundColor 50 40 30

example:  NadirColor 100 80 60


The ZenithColor, SkyColor, GroundColor, and Nadir Color functions provide the 
RBG values for the gradient backdrop.  These values are used only when the 
SolidBackdrop flag is turned off.

<color value range>:	Red value -	0 - 255
			Green value -	0 - 255
			Blue value -	0 - 255


FogType <value>

example:  FogType 1

The FogType function determines which type of fog will be generated during 
the rendering process.  If the Fog effect is turned on in LightWave, 
additional listings are produced.

<value>:	0 - Off
		1 - Linear
		2 - NonLinear 1
		3 - NonLinear 2


	Additional:  FogMinDist <Distance> ¦ (envelope)

	example:  FogMinDist 25.000000

	The FogMinDist function provides the distance from the camera that 
	the fog will begin.  This functions value can be fluctuated over 
	time with an envelope.  If an envelope is chosen, the distance value 
	is replace with an envelope identifier.


	Additional:  FogMaxDist <Distance> ¦ (envelope)

	example:  FogMaxDist 350.00000

	The Fog MaxDist function provides the distance from camera that 
	objects in the fog will remain visible.  This functions value can be 
	fluctuated over time with an envelope.  If an envelope is chosen, the 
	distance value is replace with an envelope identifier.


	Additional:  FogMinAmount <percentage> ¦ (envelope)

	example:  FogMinAmount 0.250000

	The FogMinAmount function provides the lower bounding value for the 
	density (amount) of fog in the scene.


	Additional:  FogMaxAmount <percentage> ¦ (envelope)

	example:  FogMaxAmount 0.750000

	The FogMaxAmount function provides the upper bounding value for the 
	density (amount) of fog in the scene.


	Additional:  FogColor <Red value> <Green value> <Blue value>

	example:  FogColor 200 200 215

	The FogColor function provides the RGB values for the color of the fog.
  	These values are used only when the BackdropFog flag is turned off.

	<color value range>:	Red value -	0 - 255
				Green value -	0 - 255
				Blue value -	0 - 255


	Additional:  BackdropFog <flag>

	example:  BackdropFog 1

	The BackdropFog flag determines how the fog will be colored.  If the 
	flag is on, the fog will use the backdrop color.  If the flag is off, 
	it will use the values provided in the 	FogColor function.

	<flag>:	0 - Use FogColor
		1 - Use Backdrop Colors


DitherIntensity <value>

example:  DitherIntensity 2

The DitherIntensity function provides the type of dithering to be used during 
the rendering process.

<value>:	0 - Off
		1 - Normal
		2 - 2 x Normal
		3 - 4 x Normal


AnimatedDither <flag>

example:  AnimatedDither 1

The AnimatedDither flag activates the animated dither function.  This will use 
an alternate dithering patter frame by frame.

<flag>:	0 - Off
	1 - On 


Saturation <percentage> ¦ (envelope)

example:  Saturation 0.350000

The Saturation function provides the percentage of color saturation to be 
used during the rendering process.  The function produces a listing only 
when set below 100%.


GlowEffect <flag>

example:  GlowEffect 1

The GlowEffect flag activates the glow effect for the rendering process.  
When this function is turned on, it allows any surface that has it's glow 
effect flag turned on to be affected by the glow post-process.  This function, 
when turned on, produces a listing plus additional option listings.

<flag>:	0 - Off (No Listing)
	1 - On (Listing plus additional listings)


	Additional:  GlowIntensity <percentage> ¦ (envelope)

	example:  GlowIntensity 1.000000

	The GlowIntensity provides the percentage of glow intensity 
	(brightness) that the glow post-process will produce.


	Additional:  GlowRadius <pixels> ¦ (envelope)

	example:  GlowRadius 8.000000

	The GlowRadius provides the glow distance, in pixels, that the 
	glow post-process will 	produce.

 
DataOverlay <flag>

example:  DataOverlay 1

The DataOverlay flag activates the data overlay function that overlays a 
string provide by the DataOverlayLabel function on the rendered frames.

<flag>:	0 - Off (No Listing)
	1 - On


DataOverlayLabel <string>

example:  DataOverlayLabel Scene1_4/16/95

The DataOverlayLabel function provides the string to be used by the 
DataOverlay function.




Chapter 7:			RECORD SECTION


7.1 RECORD SECTION INFORMATION


7.1.1  Record Section Description

The effects section contains the information on the saving of animations, 
RGB images and Alpha images.

Record functions produce a listing only when activated by the user.

The file saving process is not active when the scene is loaded into
LightWave.  The file name is available to the record functions.  The user 
must activate the save function manually to begin the saving process.


7.1.2  Basic Record Section

	Preceding Scene, Objects, Lights, Camera, and Effects Sections...........

SaveRGBImagesPrefix Logo
RGBImageFormat 2
SaveAlphaImagesPrefix LogoAlpha
AlphaImageFormat 0
AlphaMode 1

	Additional Scene Listings.............



7.2  RECORD FUNCTIONS


7.2.1  Function Order

The following is a list of record functions that are listed in the order 
in which they appear in the scene file.

Indented entries denote an optional function of the preceding function.

	SaveANIMFileName
		LockANIMPaletteFrame
		BeginANIMLoopFrame

	SaveRGBImagesPrefix
		RGBImageFormat

	SaveAlphaImagesPrefix
		AlphaImageFormat
		AlphaMode

	SaveFramestoresComment



7.2.2 Function Descriptions

The following functions are listed in the order in which they appear in 
the scene file.


SaveANIMFileName <image path + filename>

example:  SaveANIMFileName Anims\LogoAnim

The SaveANIMFileName function provides the path and filename for the 
animation to be saved during rendering.

In this example, if the current content directory is <c:\NewTek>, 
LightWave would attempt to save the anim file as <c:\NewTek\Anims\LogoAnim>.

Some animation formats produce additional function listings.


	Additional:  LockANIMPaletteFrame <frame number>

	example:  LockANIMPaletteFrame 12

	The LockANIMPaletteFrame function provides the frame number to be 
	rendered for the palette information.  The palette of all frames 
	rendered in the animation will then use the given frames palette.


	Additional:  BeginANIMLoopFrame <frame number>

	example:  BeginANIMLoopFrame 15

	The BeginANIMLoopFrame function provides the frame number to loop the 
	animation from.  After the animation is completed, it would continue 
	looping from the given frame to the end of the animation.


SaveRGBImagesPrefix<image path + filename>

example:  SaveRGBImagesPrefix Images\LogoFrames

The SaveRGBImagesPrefix function provides the path and filename prefix 
for the images to be saved during rendering.  A frame number and optional 
file extension will be added to this filename.  This additional information 
is provided by the Output Filename Format config file listing and the 
RGBImageFormat function.  

In this example, if the current content directory is <c:\NewTek>, the 
Output Filename Format is set to Name001.xxx, and the Image Format is 
24-bit Targa,  LightWave would attempt to save the first image file as 
<c:\NewTek\Images\LogoFrames001.tga>.


	Additional:  RGBImageFormat <value>

	example:  RGBImageFormat 2

	The RGBImageFormat function determines which file format will be 
	used in the image saving process.



	<value>:	0 - 24-bit IFF (.IFF)
			1 - 24-bit RAW (.RAW)
			2 - 24-bit Targa (.TGA)


SaveAlphaImagesPrefix<image path + filename>

example:  SaveAlphaImagesPrefix Images\LogoAlpha

The SaveAlphaImagesPrefix function provides the path and filename prefix 
for the alpha images to be saved during rendering.  A frame number and 
optional file extension will be added to this filename.  This additional 
information is provided by the Output  Filename Format config file listing 
and the AlphaImageFormat function.  

In this example, if the current content directory is <c:\NewTek>, the 
Output Filename Format is set to Name001.xxx, and the Alpha Image Format 
is 24-bit IFF,  LightWave would attempt to save the first image file as 
<c:\NewTek\Images\LogoAlpha001.tga>.


	Additional:  AlphaImageFormat <value>

	example:  AlphaImageFormat 1

	The AlphaImageFormat function determines which file format will 
	be used in the image saving process.

	<value>:	0 - 8-bit IFF (.IFF)
			1 - 24-bit IFF (.IFF)


	AlphaMode <value>

	example:  AlphaMode 1

	The AlphaMode functions determines which type of alpha image is 
	going to be produced during the rendering process.

	<value>:	0 - Normal Alpha
			1 - Fader Alpha Mode


SaveFramestoresComment <image path + filename>

example:  SaveFramestoreComment  Images\Frame

The SaveFramestoreComment function provides the path and filename prefix 
for the framestores to be saved during rendering.  A frame number and 
optional file extension will be added to this filename.  

In this example, if the current content directory is <c:\NewTek>, 
LightWave would attempt to save the first image file as 
<c:\NewTek\Images\001.FS.Frame>.




Chapter 8:			OPTIONS SECTION


8.1  OPTIONS SECTION INFORMATION


8.1.1 Options Section Description

  The Options Section contains the information that relates to environment 
  settings for LightWave's Layout.


8.1.2  Example Options Section

	Preceding Scene, Objects, Lights, Camera, Effects and Record sections.......

ViewMode 3
ViewAimpoint 0.000000 0.000000 0.000000
ViewDirection 0.000000 -0.174533 0.000000
ViewZoomFactor 3.200000
LayoutGrid 8
GridSize 1.000000
ShowMotionPath 1
ShowSafeAreas 1
ShowBGImage 0
ShowFogRadius 0
ShowRedraw 0



8.2  OPTION FUNCTIONS


8.2.1  Function Order

The following is a list of Options functions in the order in which they 
appear in the scene file.


		ViewMode

		ViewAimpoint

		ViewDirection

		ViewZoomFactor

		LayoutGrid

		GridSize

		ShowMotionPath

		ShowSafeAreas

		ShowBGImage

		ShowFogRadius

		ShowRedraw

		ShowFieldChart


8.2.2  Function Descriptions

The following functions are listed in the order in which they appear in 
the scene file.


ViewMode <value>

example:  ViewMode 5

The ViewMode function determines the default viewing mode from Layout when 
the scene file is loaded.

<value>:	0 - Front
		1 - Top
		2 - Side
		3 - Perspective
		4 - Light
		5 - Camera


ViewAimpoint <x position> <y position> <z position>

example:  ViewAimpoint 0.000000 0.000000 0.000000

The ViewAimpoint function provides the position information for the 
default viewing mode from Layout when the scene file is loaded.


ViewDirection <heading angle> <pitch angle> <bank angle>

example:  ViewDirection 0.000000 -0.175433 0.000000

The ViewDirection provides the rotation information for the default 
viewing mode from Layout when the scene file is loaded.


ViewZoomFactor <float>

example:  ViewZoomFactor 3.200000

The ViewZoomFactor function provides the zoom factor for the default 
viewing mode from Layout when the scene file is loaded.


LayoutGrid <value>

example:  LayoutGrid 8

The LayoutGrid function determines the number of grid squares in Layout.

<value>:	0 - Off
		1 - 2 x 2
		2 - 4 x 4
		3 - 6 x 6
		4 - 8 x 8
		5 - 10 x 10
		6 - 12 x 12
		7 - 14 x 14
		8 - 16 x 16


GridSize <float>

example:  GridSize 1.000000

The GridSize function  provides the value, in meters, for the grid square 
size in Layout.


ShowMotionPath <flag>

example:  ShowMotionPath 1

The ShowMotionPath flag controls the display of the motion paths in Layout.

<flag>:	0 - Off
	1 - On


ShowSafeAreas <flag>

example:  ShowSafeAreas 1

The ShowSafeAreas flag controls the display of the safe areas overlay in Layout.

<flag>:	0 - Off
	1 - On (Display Safe Area Chart)


ShowBGImage <value>

example:  ShowBGImage 2

The ShowBGImage function activates the display of a background image or 
preview anim.

<value>:	0 - Blank
		1 - BG Image
		2 - Preview


ShowFogRadius <flag>

example:  ShowFogRadius 1

The ShowFogRadius flag activates the display of the fog radius in Layout.

<flag>:	0 - Off
	1 - On (Display Fog Radius)


ShowRedraw <flag>

example:  ShowRedraw 0

The ShowRedraw flag activates the display of the object polygon redraw 
in Layout.

<flag>:	0 - Off
	1 - On (Display Object Polygon Redraw)


ShowFieldChart <flag>

example:  ShowFieldChart 1

The ShowFieldChart flag activates the display of the Camera Field Chart 
in Layout.

<flag>:	0 - Off
	1 - On (Display Field Chart)

