virtuaout - VirtuaLight export for trueSpace

v1.03 RC4 (Ukyou)	K34c_mJN06

This is a PRIVATE prerelease.  If you give this to anyone else, you WILL be
hunted down and killed.  I don't actually think any of you would do that, but
I have to say it.

PLEASE send me example renders to show off.  They should be 640x480, with no
text overlay or anything - any text you want shown such as your URL etc. should
be sent along with the render, I'll make sure it goes with it.

Together with each one, list your CPU speed and memory, and the rendertime for the render.


Changes:

1.03 RC4

PC has crashed a couple of times over the weekend, and I can't remember what the fixes
have been, except:

-Removed check for valid output dir because it apparently wasn't working on Win98 (Joe)
-The .vib extension is automatically removed when you go to pick an output filename
(Mondo, Jon)
-Other filename-related fixes (Mondo)
-"render to screen" is now only available if "render after export" is enabled (Mondo)
-added option to specify u and v subdivisions for NURBS patches, for smoother rendering





1.02 RC3

(1/5/02):
-Fixed a crash with bump maps
-Fixed a bug with background image export
-Added support for the tS gradient background

(1/4/02):
-Fixed normals.  They were not being rotated properly when your object was rotated, so
they were wrong.  Hard to detect, but makes a big difference on transparent objects!
-Faceted materials are now supported for polyhedra as well as NURBS.  They may not be
truly faceted, but they will certainly not be smooth shaded.
-"render current frame" removed, and replaced with two options - "render after export", and
"render to screen".  "render to screen" only applies when exporting the current frame,
whereas "render after export" will work no matter what you exported.
-support for glowing local and goniometric lights.  If the tS light has lens flares enabled,
the VL light will have a glow.  The size of the glow is calculated from the size of the
light in tS - scale it bigger for a bigger glow (obviously)
-support for non-specular lights has been added.  This means that the light will still
illuminate objects and cast shadows (if on), but won't cause a specular highlight to
appear.  It's useful for fill lights.  To turn off specular highlights, uncheck the tS
option "Physically based untis for the light" (yes, it's a typo in tS)
-A check is made that the path to vlight.exe and the output filename is correct before
rendering (Jon)


1.01 RC2

(1/3/02):
-Area lights should export a bit better.  They're still pretty weird, I'd reccommend
using goniometric lights if you want area lights with blurred shadows, or at least
try not to scale the area lights in odd shapes.
-Added support for black holes.  If a tS light has a negative intensity, it will be
written out as a black hole (negative point light)
-Support for the tS object flags "Cast Shadow", "Receive Shadow", and "Double Sided"
-Cubic falloff used instead of quadratic to closer approximate tS behaviour
-Support for transparency maps added (Jon)
-Added "one file" option for save/load irradiance cache and save/load photon maps.  This
is useful when you are doing an animation where only the camera moves - the photon mapping
and irradiance calculations only have to be done when the first frame is rendered, the
rest of the frames will reAd this data.

(1/1/02):
-Transmission is only written out in shaders if you set it > 0 in the tS shader
-Cook-Torrance BRDF now used for glass and dielectric shaders, for that tight glossy
highlight look.
-Objects all have a unique name when exported now.  This means that two objects with the 
same name but different materials will render correctly now (before, the .vs file would
just have multiple shader definitions with the same name) (Jon)
-The VLight path and output name now get saved properly between sessions (Jon)
-Load and save of settings is now possible.  They get saved to XML files with the .vos
extension.  If you save a "default.vos" file in the same directory as virtuaout.tsx, it
will be loaded every time virtuaout starts.

1.0 RC1 (1/1/02):
Very big changes as we go for a release!  Too many changes to list, but some of the
big ones:

-Binary output is possible.  It's faster to export, faster for VL to load, so use it
as default.  If you want to examine the settings or something, then drop back to ASCII,
but Binary is Best.  Let me know of any differences between an ASCII and binary render of
the same scene
-Procedural color shaders get converted to Targa images and stored in the same output
directory.  The only color shaders that will not get converted are plain, texture map,
wfmm texadjust - the two texture mapping ones will be converted to regular VL texture map
shaders.  Note that this means you must have the BTNexgenIPL32.dll in your tS5 directory!
They will be written out at the size specified in "converted textures" in the output tab
-IBL lights now get output as VL sky lights, with an image.  Note that there's no way of
setting the orientation of the VL sky, so you may have to do some adjusting of the image
-The dielectric shader is the other shader to be written out to use caustics, if enabled.
This is the most versatile for glassy surfaces, and is reccomended.
-All kinds of extra options accessible from the interface.  Consult the VL documentation
for assistance with most of them.
-NURBS output correctly now.
-Meshes also output correctly - there was perhaps a change in the way VL handled meshes
compared to earlier versions?
-Flat area lights are written out as single sided now.  This may not work in the binary
output.  VL area lights also do not work in exactly the same way as Lightworks area
lights, so it takes some getting used to.
-The "rough" and "wrapped rough" Lightworks shaders get converted to VL procedural bump
shaders.  There's no real 1:1 correspondance, so it's not exactly the same, but better
than nothing.  Of course, the "bump map" and "wfmm texadjust" shaders get converted to
VL bumpmap shaders, and is the reccomended route for bumping your surfaces.


5/31/01:
-Changed glass shader output to be more glass-like.  Should produce better caustics?
-Fixed BRDF settings to correctly match roughness of tS material
-"Constant" material gets output as Ka=1, Kd=0
-Removed superflous settings (made obsolete by VL 1.0.3)
-Added ability to set sun
-Added basic metaballs support.  Only sphere metaprims are supported, and the area
of influence is a bit dodgy, but what the hey.
-Added ability to render from the interface.  Make sure you set the path to vlight.exe
correctly.  Note that this has only been tested on Win2K.
-Tweaked volumetric output


5/30/01:
-Fixed camera FOV.  Yay!
-Added support for background shaders (plain color and image).  Trouble is, I think
there's a problem with VL 1.0.3, because the background image does not render correctly.
Methinks it's a UV problem (specifically V) in the background.


5/29/01:
-Fixed multiple-material-per-mesh output.  Don't worry about the details, it
just works.
-Added support for bumpmaps.  


5/28/01:
-Fixed output so that it doesn't add .vib to the filename
-Decay no longer written for inifite lights (because it's unsupported by VL)
-Caustics enabled for mirror surfaces too
-Added texture support
-Fixed UV export (V was reversed)



Install:
1. Place the .tsx anywhere
2. Make sure the BTNexgenIPL32.dll file is in your tS5 directory
3. Start tS and load the plug-in


Usage:

Click the plug-in icon to open the preferences panel
First click the "vlight path" button and browse to find your vlight.exe file.
It will be in the "bin" subdirectory of wherever you installed VirtuaLight.
Make any changes, then hit "export" to write out the VIB(s) and VS file(s)
Then render them with vlight - note that
a batch file will be created that you can run that will render out
each frame.  You specify an output prefix in the preferences panel,
e.g "output", and the files will be output0000.vib, output0000.vs,
and output.bat for the batchfile.  Duh.
If you selected "render after export", the scene will automatically be rendered.

Notes:

You're really expected to know how to use Virtualight.

The view needs to be through a camera.  And if you enable DOF, the camera
needs a lookat object for the DOF to work correctly.

Subdivision surfaces will be written out as polyhedra, because VL doesn't
support them.  Duh.

NURBS objects get exported as NURBS patches.

If you have the old volumetric global shader set in tS, you'll
get foggy media stuff in VL.  The density and samples are the only things definable though.

Basic tS shader to VL materials is done.  You may want to edit the VS afterwards.
One thing to note is that when a single polyhedron has multiple materials,
the VIB will contain multiple objects, every time the material ID changes
it will start a new object.

trueSpace sky lights will be output as VL skylights.

The big one: caustics.  Any material that uses "glass", "dielectric", or "mirror" as reflectance will
be written out with caustics enabled in the VL material.  As long as you
have "do caustics" checked, VL should render caustics.  Note that unlike BMRT,
you can enable caustics without enabling irradiance calculation.



Settings:

frames - "current" exports the current frame only, "all" exports all frames in 
the animation, "range" lets you specify a start and end frame.

NURBS as polys - if you check this the patches will be written as polyhedra.  This can
sometimes be a good thing, for example if you have UV mapping issues.

light multiplier - maybe the output renders too light or dark, well change
the light multiplier and you don't have to bump up the actual light value.
e.g. if your light multiplier is 2.0, all light intensities will be multiplied
by 2 in the output.  I mean come on, that's pretty obvious.

add sun - adds a SunLight to the scene, with the given time.

number of photons - these are measured in 1000s.  So 30 = 30000.



web: http://www.coolpowers.com/virtuaout/
mail: siw@coolpowers.com