What's New
This page lists the new features and bug fixes introduced in the 2012 release.
New live eRnsT rendering
You can now use the Beast API to retrieve the lightmaps baked by the eRnsT real-time renderer. This allows
you to provide a live preview of the final global illumination for your scene directly
within your level editor.
For more on the live eRnsT workflow, see Workflows.
For more on creating and running a live eRnsT rendering job, see Rendering the Scene.
New eRnsT settings
The eRnsT viewer and the live eRnsT API offer some new settings:
Baking modes
You can now choose between baking just the surfaces visible in the camera view, or
baking the entire level. Baking the entire level can be useful if you want to explore
the whole level with the lighting already baked in. In that case, you don’t need to
fly around with the camera to refine the lighting on all surfaces. You can just switch
to level baking, wait a few minutes for the lighting to be refined, and then explore
the scene.
In the standalone eRnsT viewer, this is controlled by the "Baking Mode" setting under
Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstGIBakingMode() function.
Variance limits
You can now set a variance limit that determines when light maps are considered good
enough. When the variance of a light map reaches below this threshold, no more refinement
calculations will be done for that map unless the lighting setup changes. This may
improve performance by directing those calculations to other maps where the variance
is higher.
In the standalone eRnsT viewer, this is controlled by the "Variance Limit" setting
under Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstVarianceLimit() function.
Light map compositing
You can now composite light maps with global scaling factors for direct light and
indirect light. This is done without any recalculation of the lighting, so you can
see the results of changing the amount of direct light and indirect light in your
maps without waiting.
In the standalone eRnsT viewer, this is controlled by the "Direct Illumination" and
"Indirect Illumination" settings under Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstDirectIllumination() and ILBSetErnstIndirectIllumination() functions.
Noise reduction filter
The noise reduction filter has been improved. The filter will not affect and blur
the direct lighting, and noise in the indirect lighting is reduced better. Therefore,
you should see sharp direct light shadows and noise-free indirect lighting much more
quickly than before.
In the standalone eRnsT viewer, this is controlled by the "Variance Threshold" setting
under Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstVarianceThreshold() function.
Other eRnsT improvements
- Several internal optimizations have been made in the eRnsT real-time renderer. In
most cases, eRnsT should now be able to provide you with better results more quickly.
- eRnsT now takes pixel aspect ratio into account.
- Fixed a bug that caused dark flashes in the lightmaps in the editor.
- Fixed a bug with negative UV scale and texture resolution in eRnsT.
LiquidLight
Improvements
- The light render pass now supports Global Illumination, except when generating only
shadowmaps.
- You can now set a scale for the lambertian reflectance for each light pass, by calling
ILBSetLambertianScale().
For more information on the light render pass, see Creating Render Passes.
Bug fixes
- Fixed a bug that caused light sources to contribute to the path tracer cache even
when ILB_LS_VISIBLE_FOR_GI was disabled in their light stats.
- Fixed a bug that always set the shadow angle for window lights to zero.
Beast API
Improvements
- Fixed perspective camera field of view. The field of view is recalculated to support
target aspect ratios other than 4:3.
- A warning is now printed for each mesh that has at least one degenerate triangle,
and the mesh creation fails with an error message if no triangles in the mesh are
valid.
- Improved performance when writing XML in the scene export.
- Fixed invalid UV coordinates in the Hangar model used in the examples.
Bug fixes
- Fixed a bug with multi-threading locks.
- Fixed a bug that printed text files in binary mode.
- Fixed a potential crash that occurred when a file could not be opened.
- Local (non-distributed) baking is now forced when permissions problems prevent running
a distributed job. For instance, this may occur when running the examples from the
Desktop folder.
- Fixed invalid UV coordinates in the Hangar model used in the examples.
Rendertool
Improvements
- Improved baking performance for distributed jobs on computers with more than four
processors.
- Improved crash dump support.
- Errors caused by missing configuration files on the command line are now caught early.
Bug fixes
- Fixed a potential crash in tiled texture baking.
- Fixed a bug when baking a distributed job using the irradiance cache for final gathering.
- Fixed a bug when baking a distributed job using multi-depth final gather as the primary
GI integrator with the path tracer as secondary integrator.
- Fixed a bug in the point cloud boundary merge.
- Fixed a compatibility error that led to distributed jobs not supporting a non-invertable
UV transform that was supported in non-distributed jobs.
- Fixed a bug in shadowmap rendering for distributed jobs.
- Result files are always copied instead of hard-linked, to avoid sharing violations.
- Fixed a bug that could cause the wrong lights to be included in the pre-pass for light
passes using GI.
- Fixed a potential memory leak.
Distribeast
This release of Beast includes Distribeast version 0.2.33.0.
Improvements
- The Distribeast installer now opens the Windows Firewall for all subnets instead of
just the local subnet. This change allows Distribeast to work on larger networks.
- Nodes now have improved support for using resource caches located on FAT32 volumes.
Due to limitations in the number of files that can be stored in a single directory,
nodes with resource caches located on FAT32 volumes could previously only handle 10,000
to 15,000 resources. With this release, that limit is increased by a factor of approximately
256.
Tools older than the ones included in this release will not function properly with
Distribeast 0.2.29.0 or later if the resource cache is located on a FAT32 volume.
Nodes with resource caches located on NTFS volumes are unaffected by this change.
- Better error messages when a tool cannot connect to the local node.
- More validation before adding a tool to the local node.
- Better error logging if the security descriptor for a folder could not be set.
Bug fixes
- Corrected error handling for some malformed messages.
- Corrected a permission problem that could lead to final resources not being accessible
by the Beast API if the application using the API was not running as an administrator.