LScript Pipeline

Download

An LScript port of the LightWave 3D™ SDK pipeline sample. Analyse the behavior of execution timing.



Installation:

- copy pipeline.lsi to Newtek\LScripts
- copy expressions\library.ls to Newtek\LScripts\expressions\library.ls
- copy directory pipeline to directory Newtek\LScripts\pipeline
(Newtek = your LightWave installation directory)

- Create Scene FPS = 5

- Load cube.lwo
- apply or.ls as replace script
- apply cf.ls as channel script on Position.X
- create new expression value: pipeline() apply to Position.Y
- apply co.ls as custom script
- apply dm_pb.ls, dm_ob.ls, dm_wo.ls as displace script
- apply ia.ls, ia_afterIK.ls as motion script
- apply pt.ls as shader script

- apply if.ls to scene as image script
- apply mc.ls to scene as master script

- save all objects, save scene

- the Logfile LSPipeline.txt will be saved to the content directory



Settings which affect Render Timing:

- Motion Blur
- Field Rendering

Settings which affect Layout's interactive behavior:


- Show Motion Paths

- Dynamic Update
- Graph Editor is opened/closed
- lw3.cfg setting -> QuickMotionPathFrames




Render Timing

Timing performed by the renderer (@ 5 FPS)

Frame 0   1   2
Time 0.000 0.100 0.200 0.300 0.400
a)     Frame 1   Frame 2
b)   Frame 1- Field 0 Frame 1 - Field 1 Frame 2- Field 0 Frame 2- Field 1
c)   Frame 1 - MBlur   Frame 2 - MBlur  
d) Fr1 Fld0 - MBlur Fr1 Fld1 - MBlur Fr2 Fld0 - MBlur Fr2 Fld1 - MBlur Fr3 Fld0 - MBlur
e) Frame1 - 100% Motion Blur Frame2 - 100% Motion Blur Fr3 -100% MBlur...

a) Motion Blur: Off , Field Rendering: Off
b) Motion Blur: Off , Field Rendering: On
c) Motion Blur: On , Field Rendering: Off
d) Motion Blur: On , Field Rendering: On
e) Motion Blur @ 100%: On , Field Rendering: Off


Order of Execution

a) Motion Blur: Off , Field Rendering: Off

per Pass LScripts - Time 0.200 per Frame
OR CF/EX IA IA-IK CO DM-PB DM-OB DM-WO PT IF

b) Motion Blur: Off , Field Rendering: On

Frame 1- Field 0 - Time 0.100 Frame 1- Field 1 - Time 0.200  
per Pass LScripts per Pass LScripts IF

c) Motion Blur: On , Field Rendering: Off

Fr1/Pass 1: 0.200 Fr1/Pass 2: 0.175 Fr1/Pass 3: 0.150 Fr1/Pass 4: 0.125 Fr1/Pass 5: 0.100  
per Pass per Pass per Pass per Pass per Pass IF

OR = Object Replacement (replace)
CF = Channel Filter (channel)
EX = Expressions Library

IA = Item Animation (motion)
IA-IK = Item Animation (motion) - Flags: AFTERIK
CO= Custom Object (custom)
DM-PB = Displacement / Before Bones (displace) Flags: PREBONE

DM-OB = Displacement / Object (displace) Flags: LOCAL
DM-WO = Displacement / World (displace) Flags: WORLD
PT = Procedural Texture (shader)
IF = Image Filter (image)