Attached is the first Beta build of the upcoming Krakatoa MX 2.6 release.
We plan to show this at Siggraph, together with some new Frost and Stoke stuff - if you are not on those betas but need to be, let us know!
A new 2.6 license is required for running this build (of course, it can run in License Free mode with the usual limitations).
Please contact our Sales team at bobo@thinkboxsoftware.com so I can help if Sales are gone home for the day.
A list of new features will be in a separate post.
In previous versions of Krakatoa, the number of Motion Blur passes had to be set to a constant value that accommodates all particles on all frames of an animation.
This means that if the animation contains frames with slow moving particles and other frames with sudden bursts of motion, all frames would need to use a high number of passes to ensure the fast moving particles appear smooth enough.
In Krakatoa MX 2.6, the number of passes can be adjusted automatically by enabling the Adaptive Motion Blur option and specifying a minimum and maximum number of passes.
Krakatoa will calculate the amount of screen-space motion of each particle on each frame, and determine the optimal number of passes to produce a consistent motion blur effect.
If the calculated value is higher or lower than the user-defined minimum and maximum values, it will be clamped.
Additional controls called Smoothness and Smoothness Bias can be used to adjust the quality of the Adaptive Motion Blur:
[list][*]The Smoothness parameter is a multiplier to the automatically calculated value, thus a value of 2.0 will suggest two times more passes. This is useful when rendering with Jittered Motion Blur where one sample per screen pixel might not produce a smooth enough output.
The Smoothness Bias is an Exponent to the otherwise linear curve describing the relationship between the maximum number of screen pixels travelled by a particle, and the number of Motion Blur passes. By setting the Bias to values above or below 1.0, the curve can be bent to produce more passes for frames with fast motion while drawing frames with slow motion with less passes than usual, or the other way round. The Bias is applied only to the part of the curve pinned between the Min. and Max. values.
[/*:m][/list:u]
[size=150]Depth Of Field Bokeh Effect[/size]
The Krakatoa Camera Modifier has been extended in Krakatoa MX 2.6 with additional controls over the shape and color of the Bokeh effect.
A custom texture map or map tree can be provided to control the shape, the color, or both.
When no map is provided, a circular shape will be used like in previous versions.
[list][*]The Alpha channel of the texture map will be used to control the shape of the Bokeh effect.
If no Alpha channel is provided but the mask is enabled, the Value of the RGB channels will be used instead.
The texture’s RGB color can also be blended with the particle’s Color, producing custom Chromatic Aberration-like effects.
[/:m][]An optional Anamorphic Squeeze parameter can be used to scale the effect along the vertical axis.[/:m]
[]Both the Color Blending and Anamorphic Squeeze parameters are animatable.[/:m]
[]The Color Blending can be controlled per-particle using a BokehBlendInfluence float16[1] channel. [/*:m][/list:u]
[size=150]New World Space Modifiers[/size]
A World Space Modifier version of the Krakatoa Delete modifier has been added to allow the culling of particles after they have been transformed and deformed in world space.
A World Space Modifier version of the Krakatoa PRT Cloner modifier has also been added to allow the replacement of a particle with particles from other sources, or with procedurally generated particles, after world space transformations and deformations have been applied.
[size=200]Improvements To Existing Features[/size]
[size=150]Depth Of Field Performance[/size]
In previous versions of Krakatoa, rendering with Depth Of Field on multi-core machines could experience the so-called “Last Bucket Standing” effect, but in the form of “Last Image Buffer Standing”.
[list][*]Krakatoa splits the particles along the depth of the camera and renders them into multiple Image Buffers, one for each thread / core / CPU.
In previous versions, the split always produced equal particle counts in each chunk.
However, when rendering with extreme Depth Of Field settings, some of the threads could take much longer to complete when out of focus compared to those in focus due to the different number of samples to be drawn.
[/:m][]Krakatoa MX 2.6 will split the particles into non-equal chunks taking into account the Depth Of Field parameters, thus allowing all threads to render in approximately the same time.[/:m]
[]The result is up to two times faster performance in extreme cases thanks to the better distribution of CPU resources.[/:m]
[]The speed increase may vary depending on the scene content and camera settings. [/*:m][/list:u]
[size=150]Combining PRT Cloner Modifiers[/size]
The PRT Cloner modifier preserves the distribution particles’ channels by renaming them with a Source_ prefix.
However, trying to use a PRT object with PRT Cloner as the source of another PRT Cloner on another object in earlier versions would cause channel name collisions.
In Krakatoa MX 2.6, the Source_ channels of the previous PRT Cloner modifier will be ignored and new Source_ channels will be generated, allowing the combining of several levels of PRT Cloners into complex setups.
[size=150]PRT Cloner Modifier Color Channel Multiplication Option[/size]
In previous versions of Krakatoa MX, the PRT Cloner modifier always multiplied the Color channels of the Distribution particles and the Cloned particles.
In Krakatoa MX 2.6, this multiplication is optional and controlled by an additional checkbox under the Miscellaneous rollout.
The option is checked by default for backwards compatibility.
When unchecked, a Magma modifier could be used to perform any mathematical operations between the Color and Source_Color channels like blending, adding, multiplying etc. for maximum flexibility.
To make the access to Source_ channels of PRT Cloner modifiers easier, both the InputChannel and Output nodes now offset an [S] button next to the channel name.
When pressed, the button will toggle a “Source_” prefix to the current channel name - for example if the channel is named “Color”, it will become “Source_Color”; if it is already called “Source_Color”, it will become “Color”.
[size=150]PRT Loader Partition Channels
[/size]
When loading multiple PRT sequences, for example multiple Partitions, the PRT Loader will now tag each particle with a new procedurally-generated PartitionIndex integer channel.
This channel will contain the index of the file sequence on the PRT Loader’s file list, thus allowing Magma modifiers higher up on the stack to determine which partition each particle came from.
A second integer channel called PartitionCount will provide the total number of sequences in the PRT Loader, allowing easy normalization of the PartitionIndex value.
[size=200]Bug Fixes [/size]
Matte Objects rendering and Depth Of Field calculations performance suffered a regression in v2.5.x when compared to v2.3.x. Krakatoa MX 2.6.0 fixes these issues, and thanks to the other improvements to the Depth Of Field calculations outlined above, outperforms all previous versions of Krakatoa.
The state of the Motion Blur toggle in the Krakatoa Renderer had an effect on the behavior of Load Single Frame Only option in the PRT Loader. Previously, if Motion Blur was disabled (and thus the Velocity channel not required for rendering), the PRT Loader would load the Velocity data unmodified even if Keep Velocity Channel was off. Turning on Motion Blur was causing the Velocity to correctly be set to zero though. This has been fixed, the Velocity will now be zero with and without Motion Blur if Load Single Frame Only is on, unless Keep Velocity Channel is checked explicitly.