Krakatoa
RSS< Twitter< etc
Tuesday
Sep052017

Krakatoa MX 2.7 Change Log

  • Added support for 3ds Max 2018.
  • Modified the PRT Loader scripted plug-in UI to adapt to 3ds Max 2018 command panel resizing.
    • Note that a bug in 3ds Max 2018 will cause the minimum width of the command panel to be locked to the current width of the scripted plug-in's UI if the object is deselected and reselected. You must restart 3ds Max to restore the default minimum width of the command panel.
Thursday
Jan262017

Krakatoa MX 2.6.3 Change Log

  • Minor bug fixes.
  • The PRTHair object no longer supports 3ds Max's "Hair and Fur Modifier".
Monday
Aug292016

Krakatoa MX 2.6.1 Change Log

New Features

Adaptive Motion Blur

  • 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:
    • 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.

Depth Of Field Bokeh Effect 

  • 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.
    • 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.
    • The texture map will be rendered into multiple power-of-two resolutions (map-map), and the closest resolution to the size of the DOF circle of confusion will be picked.
    • An additional control allows the circle of confusion size to be multiplied by a user-defined value in order to pick higher resolution textures and avoid obvious banding as the Bokeh texture size changes due to extreme DOF settings.
  • An optional Anamorphic Squeeze parameter can be used to scale the effect along the vertical axis.
  • Both the Color Blending and Anamorphic Squeeze parameters are animatable.
  • The Color Blending can be controlled per-particle using a custom BokehBlendInfluence float16[1] channel which can be allocated explicitly and populated using a Magma modifier.

New World Space Modifiers 

  • 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.

Magma Random Operators

  • A number of pseudo-random number generators have been added to the Function category of the Magma editor:
    • Uniform Random
    • Vector Uniform Random
    • Gaussian Random
    • Exponential Random
    • Triangular Random
    • Uniform On Sphere Random
    • Weibull Random
  • All Random operators expose a Seed input which controls the random value output. 
    • Typically the ID channel of a particle can be connected to the Seed input in order to produce a consistent random value over the life of the particle.
    • However, any particle channel could be used to control the random value, allowing for more flexible setups where the randomness changes based on Index, Position, Velocity, Color etc. components or magnitude.

Improvements To Existing Features

Depth Of Field Performance

  • 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".
    • 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.
  • 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 finish in approximately the same time.
  • The result is up to two times faster performance in extreme cases thanks to the better distribution of CPU resources.
  • The speed increase may vary depending on the scene content and camera settings. 

Combining PRT Cloner Modifiers

  • 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 would cause channel name collisions in previous versions of Krakatoa.
  • In Krakatoa MX 2.6, the Source_ channels of the previous PRT Cloner modifier will be ignored and new Source_ channels will be generagted, allowing the combining of several levels of PRT Cloners into complex setups.

Magma Modifier Source Channel Toggle

  • 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".

PRT Cloner Modifier Color Channel Multiplication Option

  • 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 multiplication 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.

Magma Modifier 'Use Existing Channels' Toggle

  • An option has been added to the InputChannel operator to only display channels available in the PRT object(s) the modifier is applied to.
    • Note that the channels will be taken from the top of the modifier stack and might not be available at the specific modifier's level.
    • Still, this option makes the finding of existing channels much faster.
  • The option is sticky between sessions and affects both the operator's drop-down list and the Input Channels menu list.

Magma Noise Operators Phase Option

  • Both Noise and VecNoise now expose a Phase input parameter.
  • The value can be set to a constant value for all particles, or to a per-particle value for ultimate flexibility.

Magma Use Existing Channels Option 

  • Both InputChannel and Output nodes now expose an option to only list existing channels.
  • This option also affects the right-click context menus.
  • It is sticky between sessions via the INI file.
  • The filtering is based on the PRT stream's channel list on top of the modifier stack, not at the level of the modifier, so some channels created higher up on the stack might still show up. 

PRT Loader Partition Channels

  • 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.

Magma Editor HDPI Support 

  • The Helium control used by the Magma Editor will now scaled correctly on high-resolution monitors.

Krakatoa Menus And MacroScripts 

  • The Krakatoa menu has been enhanced with support for sub-menus.
  • Rarely used options have been grouped into sub-menus to shorten the menu.
  • New menu items have been added for all WSM and OSM modifiers.
  • All Krakatoa MacroScripts now have icons and valid tooltips.
  • PRT creation MacroScripts have been updated to switch the Command Panel to Modify mode after execution for faster editing. 

Particle Data Viewer Access 

  • All PRT Objects with an options menu button now offer a menu item to open the Particle Data Viewer directly without a longer trip to the Krakatoa menu. 

Bug Fixes 

  • 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 in both cases, unless Keep Velocity Channel is checked explicitly.
  • Fixed the InputField Magma node to correctly support FumeFX 4.0.4.
Tuesday
Jun142016

Krakatoa MX 2.5.2 Change Log

Improvements

FumeFX 4.0.4

  • Added support for FumeFX 4.0.4 which had introduced a breaking change in the FXD file format access.

Nitrous DirectX11 Shader

  • Added custom shader to support correct large dots drawing in all viewport types when the viewport is set to Nitrous DirectX11 mode.
  • A new \Shaders subfolder will appear in the installation directory.
  • If the folder is corruted or removed, this could lead to display problems when drawing Krakatoa objects.

Maximum Thread Calculation

  • Improved the calculation of the maximum number of threads to be used based on physical core count, available free memory after loading all particles, image buffers size and count, and user-defined constraints on the memory percentage and maximum thread count limit.
    • Prior to version 2.4.0  Krakatoa MX used all available cores, allocating one image buffer per thread per output. With high-resolution output and multiple render elements, machines with very high core counts could easily run into memory problems.
    • In version 2.4.0, the logic was changed to use a percentage of the installed memory for image buffers, thus automatically reducing the number of threads. However, since the physical memory was used as a measure instead of the available memory, the performance could be lower than in previous versions because less threads would be spawned even when more could be run.
  • In version 2.5.2, the logic takes into account a user-defined percentage of the actual free memory available to the renderer, making the behavior more controllable and allowing more or less threads to be spawned as needed.
  • Also, a user-defined limit value can be used to reduce the cap the maximum number of threads on machines with too many cores (e.g. a cap of 16 on a 32 core machine). Adding more cores increases the pre-processing and image buffer management overhead and can lead to excessive use of resources without much speed benefit.
  • A new Memory Usage / Image Buffers / Multi-Threading Report area has been added to the "Memory Channels" rollout of the Krakatoa GUI.
    • It exposes a list view showing a report about the installed memory and cores, available memory before and after taking into account the particles specified in the Particle Count / Memory Calculation field, the image buffers sizes and counts, and the actual number of threads that would be used based on the specified percentage of available memory to use and the Thread Limit value.
    • It also exposes the Available Memory Percentage For Frame Buffers and Render Threads Limit values which are also available through the Preferences > System Preferences dialog.
  • When rendering, the Krakatoa Log will also display information about the memory used for frame buffers and the resulting thread count based on the inputs described above.

Bug Fixes

  • Fixed Sub-Frame Interpolation which could produce inifinite positions under certain circumstances.
  • Fixed the Density Interpolation of PRT files without an explicit Density channel which could produce incorrect values.
  • Fixed saving of LiDAR files containing 64 bit Position data to PRT files which default to 32 bit. In the past, the saving operation produced an error, now the saving will be performed, but could potentially lose data precision if the point cloud is too far away from the origin.
Wednesday
May042016

Krakatoa MX 2.5.1 Change Log

Improvements To Existing Features

Birth Channel Generator Utility UI

  • Added a new option to the Input file's [>>] menu to get the save path of the Krakatoa renderer (if available)
  • Added a new option to the Input file's [>>] menu to get the first file from a selected PRT Loader's list (if available)
  • Added a button to set the Base Frame to the current Slider Time.
  • Improved UI updates and handling of the case where Input and Output were set to the same filename.
  • Added code to reposition the dialog into the visible desktop area if the desktop size or order has changed.

Magma Editor

  • When creation an InputTexmap, it will now be auto-connected to the Output node automatically if the latter is selected. In the past, the InputTexmap operator was handled as an Operator, leaving both the Output node and the InputTexmap selected.

Big Fixes

  • Fixed a bug in the PRT Source object converting meshes and splines with animated deformations.
  • Changed the log level of some messages related to the PRT Source from Error to Debug Level as they are of no interest to the end user.