What's New in Beast 2013.2.x
This page lists the new features and bug fixes introduced in the 2013.2 release.
Physically based rendering
This release introduces a totally revamped version of the Beast renderer, based around the concept of physical rendering. Some of the design goals
for this new version were:
- The renderer should be easy to use, with minimal setup time for the artist.
- The live preview should match the final baking result.
- The old fixed function shading pipeline should be replaced with Open Shading Language
(OSL).
- Performance should scale (almost) linearly with the number of computers you assign
to your farm.
This is a major change that provides many new features, outlined below.
Physical scenes
To accommodate all the new functionality offered by the physical renderer while preserving
the old functionality, this release introduces a new type of scene called a physical scene. This is done to ensure that you do not use the old fixed-function materials and
certain old render passes with the new physical renderer.
Rendering jobs that run on physical scenes currently support the following render
passes:
- Full-shading
- Illumination
- IlluminationSH
- RNM
If your project requires the physical rendering system to support for any other passes,
please contact Autodesk Support. See Support.
Physical materials and OSL
This release completely changes the way you set up materials in your scenes. Instead
of calling API functions to set up a fixed-function shader built in to Beast, you now provide an OSL shader for each material. The shader is invoked by Beast when necessary to determine the effect of light on the surface. You can use the functions
provided by the Beast API to set up input parameters for the shaders for each different material you create.
For details, see Creating Physical Materials.
Live materials and material parameters
The new physical shading system allows you to change your materials and set new parameter
values for your shaders during the course of a live session. This is a major improvement
over the old materials system.
eRsnT and final render convergence
When using the physically based rendering system, the same renderer is used for both
eRnsT and final render. Therefore, there should be no visible artifacts introduced
in the final bake step that are not visible in the preview. (This excludes artifacts
that are a part of a specific pass. For example, the RNM pass might introduce anomalies
that come from applying the light information onto the final format of the pass).
In addition, there are no extra settings to tweak for the final render, which used
to be done in the XML file you set for the job. For example, the primary cache, secondary
cache, light sample settings, etc. The properties used to configure eRnsT and final
baking are the same, except for quality settings.
Note, however, that due to the use of OSL shaders, this release only supports the
“illumination only” mode when running eRnsT in live bake mode.
Post-filtering
One of the major changes in this release is the removal of all cache-based GI calculations
when rendering physical scenes. This makes renders much easier to set up, without
the need to spend time tweaking the behavior of the different render caches through
the XML configuration.
Removing the caches also allows Beast to scale better in large render farms, since most of the sync points during a render
job have been eliminated.
However, since we apply a path tracer approach, the raw result will likely contain
more noise than in previous versions. To counter this noise, this release also introduces
a new filter that can be applied for a physical job. This filter uses more data than
a regular image filter, which means that you can get fairly good results even from
quite noisy input data. The filter also filters between different shapes and bake
types, which means that it can smooth out both UV-seams and seams between objects.
See Creating Render Targets.
Maya plug-in
The Maya plug-in has been re-engineered to always produce a physical scene. As a convenience,
the plug-in transparently converts Maya materials to an OSL representation. However,
for best results, and the ability to tweak materials and material settings live, you
are encouraged to set up your scene with custom shaders using the new BeastOSL node.
The Beast Settings node has also been updated to reflect the simplified workflow.
See the Maya plug-in section for details.
Improved frame rendering
This release introduces new functions for camera rendering:
- ILBSetCameraDoF(), which allows you to set up the depth of field for a camera target.
- ILBSetCameraMotionTransforms(), which allows you to set up motion blurs for a camera target.
These new functions, combined with OSL support, allow you to output high quality camera
renders from Beast.
Backward-compatibility
Note that this release is fully backward-compatible with previous releases. While
you are encouraged to switch your project to the new physical scene, physical materials
and physically based rendering system, you do not have to. You can continue to use
your existing scenes and materials as-is.
- Camera targets can now be rendered by distributed jobs. Distribution is required
for physically rendered camera targets.
- Added a new function ILBSetLogTargetFileHandle(), which redirects log output to an open file handle.
- Added a new function ILBSetJobLocalProcessingThreads(), which specifies the number of processing threads an eRnsT job uses on the local
machine.
- Added new examples for physical rendering, in the examples-physical sub-directory.
- Added an image viewer to the examples.
Other improvements
- Optimized the UV unwrapping system to increase the speed of unwrapping jobs.
- Improved handling of double-sided geometry in UV unwrapping.
- Clamp basis vectors to [-1, 1] in order to avoid RNM projection problems leading to
NaN in point cloud output.
- Improved handling of fully transparent objects in final gather AO, e.g. billboards
with cut-out alpha.
- Improved handling of failed file transfers in distributed jobs.
- Jobs no longer require an XML configuration; you can now provide an empty string.
Default values will be used if no XML configuration is supplied.
- Added 64-bit build configuration for examples.
Bug fixes
- Fixed a bug with direct/indirect lights and sky lights in eRnsT texture baking.
- Fixed a crash on exit in eRnsT.
- Fixed a bug that caused uncompressed DDS textures to be upside down.
- Fixed bugs that could occur when adding a new worker node to a running distributed
job.
- Fixed a signed distance field bug that could occur when using a small filter size.
- Fixed a performance regression with the irradiance cache introduced between Beast
2012 and 2013.
- Fixed a memory leak in the full shading pass.
- Fixed a multithreading bug in the path tracer cache.
- Fixed a bug that caused unassigned vertices to be handled incorrectly during UV unwrapping.
- Fixed a potential crash condition in the UV unwrapping system.
- Fixed a bug that occurs when the user calls ILBSetAlphaAsTransparency() on a material but the diffuse texture has no alpha channel.
- Fixed missing re-transfers of resources when a connection between two remote nodes
goes down.
- Fixed a problem where path tracer cache rays were not sent if the baked object was
set to not cast GI.
- Fixed a bug that could cause long log messages from Beast or eRnsT to be truncated.
- Fixed a field of view bug when changing camera properties.
- Fixed a channel name bug that could occur when using the RNM pass with non-custom
bases.
- Fixed parallel build problems for the examples.
Maya plug-in
New features
- Switched to the new physical rendering system, which allows support for live materials.
- Added render view integration for final camera render jobs.
- Added support for image-based lighting.
- Added support for setting the max ray depth for eRnsT.
Bug fixes
- Fixed a bug in ILBGetCameraFOV().
- Fixed an issue with failed Beast exports leaving Maya stuck in busy mode.
- Fixed the default value for UV unwrapping compactness.
Distribeast 0.3.27.0
New features
- It is now possible to change which node acts as the controller in the network without
restarting the node. See Monitoring Distribeast.
- It is now possible to override the node instance ip and id for private cloud environments.
- Distribeast now supports assigning only the local node to certain consumers (used
by Beast to run certain tasks on the local machine only).
Improvements
- Running dconfig -status to monitor the farm now lists all nodes, including those with an incorrect version.
If a node is not accepting jobs, the listing also indicates the reason, if possible.
- Tools are monitored more closely when starting and stopping to make sure that they
start and stop in a timely manner.
Bug fixes
- Fixed a crash in the self-upgrade system when attempting to download a non-existent
new version.
- Fixed a race condition that could cause a failed handshake between entities in the
system, particularly likely on slow single-core machines.
- Fixed theoretical race conditions when connecting to a controller.
- Fixed a crash when a node was unable to monitor the local machine performance.
- Fixed resource transfers that never completed if a resource transfer had previously
been cancelled and restarted while still partially residing in memory.
- Fixed an issue that could lead to bake jobs never terminating under some circumstances
because no indication of completion was sent when two or more simultaneous transfers
of the same resource were in progress.
- Fixed an issue that could leave behind some temporary files after canceling a resource
transfer.
- Fixed a problem that could cause resources to be left in the node cache even after
the cache was cleared.
- Fixed a potential crash when stopping a node while worker tools were connected.