What's New in 2012.1.x
This page lists the new features and bug fixes introduced in the 2012.1.x releases.
2012.1.2
Bug fixes
- Fixed an issue that could leave a distributed bake hanging, waiting for resources
that had already been transferred.
- Fixed a regression that could cause progress to be miscalculated for large bake jobs.
- Fixed the Lua function getSampleOcclusion() so that it works for dynamic illumination sample types: i.e. when the gather.sampletype option is set to dyni (dynamic illumination), ddyni (direct dynamic illumination), or idyni (indirect dynamic illumination).
- Fixed a potential crash that could occur when using meshes that have a color but no
UV set.
- Fixed a bug that caused the last scanline to be skipped when reading DXT1-compressed
.dds images.
2012.1.1
Bug fixes
- Fixed a problem that could cause black spots to appear when using the Monte Carlo
integrator.
- Fixed a problem that could cause curved surfaces to produce too many secondary final
gather points.
Distribeast
This release of Beast includes Distribeast version 0.3.4.0.
Bug fixes
- Corrected an issue that could produce spurious failed bakes upon disconnection of
a remote node, due to an incorrect error code being generated for some resource transfers.
- Corrected an issue that could lead to memory usage growing over time, degraded performance,
and failed updates from versions 0.3.1.0 through 0.3.2.0 (contained in the Beast 2012.1 release).
If you receive an error message on upgrade saying that a service could not be stopped,
click Retry in the installer when the error message is displayed. The installation should eventually
complete successfully.
2012.1 (original release)
Beast
Normal maps
You can now provide high-detail normal maps for your materials, which are taken into
account during the illumination pass.
You set up the normal maps in the new material channel: ILB_CC_NORMAL. You can set a texture for this channel using the same methods as for other material
channels. For details, see Creating Classic Materials.
Custom bases for the RNM pass
You can now configure the basis vectors used by the RNM pass, if your rendering system
expects RNM lighting data to use a custom set of bases that differs from the "standard"
bases supported by Beast out-of-the-box.
See also Creating Render Passes.
Clipping planes for spot lights
You can now set up your spot lights with near and far clipping planes using the new
ILBSetClippingPlanes() function. The light from the spot light will only apply to objects that lie between
these two clipping planes.
New Lua function for Lambertian reflectance
You can now retrieve the Lambertian reflectance for a light in your custom Lua baking
scripts. Use the new getLightLambertianReflectance(int, vec3) function, where:
- The integer argument specifies the index of the light.
- The vec3 argument specifies the direction of the normal along which to get the reflectance.
See also Lua Reference.
Support for uncompressed .dds textures
You can now import textures from uncompressed .dds files that contain data in RGB or RGBA format.
New XML setting for controlling light leakage
If you use the final gather algorithm, and you have problems with light leakage at
secondary final gather depths, you may be able to use the new <GISettings><fgMaxSearchRadius> setting to reduce the leakage without significantly affecting your rendering times.
See also Final Gather Settings.
eRnsT-style path tracing
This release adds support for eRnsT-style path tracing for Beast rendering jobs, through the Monte Carlo integrator.
You can also now configure the Lua pass to use the eRnsT-style Monte Carlo integrator
by enabling the new gather.useMonteCarlo setting in the setup() function of your Lua bake script.
These changes allow you to make the results of your final baking through Beast match more closely the previews provided by the standalone eRnsT viewer or by the
live eRnsT API in your level editor.
Performance
- Improved performance for multi-bounce final gathering in distributed rendering.
- Improved performance for point cloud search operations.
- Reduced startup time for point cloud bakes.
- Reduced creation time and memory requirements for acceleration data structure.
- Reduced memory usage when the <ADSSettings><useSSE> option is enabled.
- Improved performance for loading mesh data from files.
- Improved multi-threaded performance for the irradiance cache.
- Improved multi-threaded performance when reading radiance cache data from a file.
Other improvements
- Log events from the cluster are now collected and saved in CSV format.
- Improved support for Unicode names.
- Improved sampling of spot light gobo textures. The sampling is now determined according
to the way the spot light projects on the surface, regardless of UV sets and spot
light placement.
- Improved logging of warnings during scene loading. Warnings are now summarized to
avoid flooding the log.
- Improved error handling when reading PNG images.
eRnsT
- Added checkerboard rendering for instances without light map data.
- Added support for double-sided rendering in the standalone eRnsT viewer.
- Added visualization of the shadow radius for spot lights and point lights.
- Improved the performance of texture light map initialization.
Distribeast
This release of Beast includes Distribeast version 0.3.2.
Improvements
- Improved communication performance.
- Improved messaging prioritization.
- Improved event handling prioritization.
- Lowered priority for disk I/O.
- Nodes are now better at skipping unnecessary operations related to canceled or failed
jobs.
- Improved startup logging.
Bug fixes
- Overzealous error reporting no longer results in failed jobs.
- Canceling a job at an early stage no longer leads to nodes being held until the Distribeast
service is restarted.
- A potential deadlock condition was found and corrected.
- A potential crash on shutdown was found and corrected.
- Errors are now logged correctly for spawned processes.
- Sent resources are now logged correctly.