Previous Topic (None) Up (Contents) Next Topic (1.0.1 Release Notes)

Krakatoa 1.1.0 Release Notes


Changes from Version 1.0.1 to Version 1.1.0 (as of April 1st, 2008)

PARTICLE CHANNELS, MEMORY USAGE AND SPEED IMPROVEMENTS

New Features

  • Introduced support for named particle channels in the Renderer. In Version 1.0.x, Krakatoa always reserved 38 bytes per particle when rendering regardless of what channels were needed or available. In the new system, some channels will only be allocated if they are required by a Krakatoa feature:
    • Velocity channel will only be allocated if >Enable Motion Blur is checked.
    • Lighting channel will only be allocated if >Use Lighting is checked
    • Normal channel will only be allocated if both >Use Lighting and >Use Normals are checked.
    • Color channel will be allocated unless the >Override Particle Colors option is on and set to Custom Particle Color.
  • If the above features are disabled and color override is enabled, Krakatoa would need only 14 bytes / particle instead of 38, allowing more than twice as many particles to be loaded in the same amount of RAM, and in shorter time.
  • In addition, the user can now specify the size of the channel (16 or 32 bits per component). Only Position channel is currently hard-coded to 32 bits.
  • Cached Channels are now shown with a + sign in front of their name, -- if not cached. If a -- Channel appears on the right list while holding a valid cache in memory, the Cache Indicator will turn yellow.
  • A memory/particle count calculator was added, showing the memory in Megabytes needed for a specified particle count or the number of particles that could fit in a given amount of memory.

Enhancements

  • Reading of particle files over the network has been accelerated considerably - between 2 and 3 times depending on the number of channels. Reading of particle files from a local disk is up to 20% faster.
  • The Sorting methods have been replaced with a single new sorting algorithm which operates on the new channel data and is fully multi-threaded. The user can control the number of threads or let Krakatoa use all available CPUs.


KRAKATOA GUI

New Features

  • Added a Global Percentage spinner allowing to render only a portion of all particles. [4114]
  • Added options to the Preferences Rollout to customize the highlight color of checkbuttons per rollout (this can ease the learning curve by allowing the user to color-code various areas of the GUI for faster sub-conscious recognition). The current settings are stored in the Krakatoa.ini file and are NOT saved with the scene. Settings can also be stored in preset files. The new options are:
    • >Use Custom Checkbutton Colors - enables the use of custom colors
    • Update Colors Now (Restart GUI) - updates the Krakatoa GUI to use the new color settings
    • Rollouts drop-down list - allows you to select the group to customize
    • Checkbutton Highlight Color - a color swatch to adjust the color of the currently selected group.
    • Save Checkbutton Colors As Preset... - saves the current color settings to a preset file.
    • Load Checkbutton Colors From Preset... - restores the colors from the preset file.
  • Added an Open Krakatoa Online Help... button to each rollout to open the corresponding page of the online reference.
  • Added a Cache Indicator which will:
    • Turn green when the cache contains data and gray when it is empty.
    • Turn yellow if a channel that is requested is not currently cached.
  • The Particle count in the Cache is now shown together with the Memory MB in the RC menu of the Cache buttons AND in the Channels To Save rollout.
  • A new >Iterative mode option has been added to the RENDER button. When checked, the Time Output and Save File settings in the Render Scene Dialog will be ignored and only the current frame will be rendered without saving to disk. This can be used to quickly tweak settings without having to disable saving and the output time range.
  • The new "Krakatoa Toolbar" MacroScripts allow you to display most important settings of Krakatoa on a 3ds Max toolbar as icons and get an idea of the current setup at a glance or switch options without scrolling the Krakatoa GUI rollouts. These options include Color Override, Use Lighting, Use Normals, Enable Motion Blur and Jittered Motion Blur, Enable Depth Of Field, Use Matte Objects, Use APME, PCache, LCache, all 8 Use Particles From options, and the Render Scene Particles/Save Particles To File Sequence settings.
  • Added per-control Startup Defaults management abilities - right-clicking a checkbutton will open a context menu allowing the setting or resetting of the Startup Default value. The same feature is also available through the [>>] preset buttons of value spinners.

Enhancements

  • Moved the Save Particles To File Sequence controls to a separate Save Particles rollout. Removed the Simple/Advance modes, all controls will be visible all the time. When Render Scene Particles is selected, the rollout will close automatically. When Save Particles... is selected, the rollout will expand automatically.
  • Changed the >USE LIGHTING button to stay enabled when Additive Density mode is selected. In previous releases it was grayed out in Additive Density mode. Since lighting can have certain influence on the result of additive shading, the option is now available in all modes.
  • Increased the cap of the Motion Blur Shutter (degs) spinner to 100000.
  • The Motion Blur Segments spinner can now be set to 1. If >Enable Motion Blur is on and the Segments are set to 1, a single pass will be calculated as if >Enable Motion Blur were off. But if >Jittered Motion Blur is also on, the single pass will be jittered.
  • Changed the logic of PCache clearing. Previously,turning the cache off and on again would effectively remove the data from memory when "Keep Last Frame" was on. This has been changed - turning off and on the cache will not affect its content until a new frame is rendered with PCache off or the right-click menu option "Clear PCache" has been used explicitly.
  • When the >USE LIGHTING option is turned off, the LCache option will be disabled.
  • When the >Use Normals option is turned on, the LCache option will be disabled because the lighting of particles with normals is view dependent and cannot be cached. This will not clear the cache though, so if you just turn >Use Normals on and off, you will be back to rendering lighting from the cache.
  • Additional logging during the rendering process has been added, including more detailed performance profiling statistics.
  • Several rollouts were renamed to avoid confusion and make navigation faster. Instead of "Particle Channels", "Particle Partitioning" and "Particle Systems" we now have "Channels", "Partitioning" and "Scene Particle Systems", making them easier to tell apart at a glance.
  • Added Presets support to both Lighting and Final Pass Density values. Both spinners (Density and Exponent) will be set with a single preset.
  • Added an option to the Render button right-click menu to keep the Render Scene Dialog open or not. Previously, each change to the Render Settings would cause the dialog to flash (as it has to close to set the new values and open again). If the option is not checked, the dialog will be closed and not opened again - you can open it next time you need it, but 90% of the time you can set up the rendering/saving using the right-click menu options anyway.


SAVING AND PARTITIONING PARTICLES

New Features

  • If the Render Dialog is set to one frame only, a Yes/No/Cancel prompt will be issued to confirm this. In many cases, the user just forgot to switch the renderer to a region, this sanity check should reduce the number of errors. Answering No will automatically switch to saving the current animation range.
  • An optional Backup Path can now be specified. This allows you to partition the files locally and save them to a local folder, then after each partition either copy or move the files from your local folder to another location, for example a network drive. This ensures that if the connection to the network drive has been lost for some reason, no data will be lost and the partitioning will not stop expecting human intervention.

Enhancements

  • The maximum number of Partitions that can be created has been reduced from 1000 to 100.
  • The Local Partitioning feedback has been split into two lines, now showing more information about the number of partitions and frames being saved as well as the last frame time in addition to the total Elapsed and Remaining times.

Bug Fixes

  • Fixed the "Overwrite file" message which was issued once for every frame to be overwritten during particle file saving. Now the prompt will appear only once.
  • Fixed the "expected -1 particles" error when saving BIN files from a PFlow with a test where at least one event contains 0 particles.


PARTICLE LOADER

New Features

  • Added flags to control the visibility of individual particle sequences in the Viewport and Renderer. A "v" and "r" or "--" symbol will prefix each sequence name. Checkboxes in the PRT Loader and a Toggle menu in the File Sequence Manager (Edit... button) allow these flags to be set in any combination to see some sequences and render others.
  • Added Toggle menus in the File Sequence Manager (Edit... button) to turn the view and render visibility flags on and off in various ways, including toggling selected or all, turning on and off selected or all and solo-setting
  • Added a drop-down list to the Particle Counts rollout with the following options:
    • File Availability Graph - in this mode (which is the new default), the PRT Loader will check only the existence of files on disk and NOT the particle count inside, which makes it much faster. For each sequence, a horizontal line will be drawn. Green means that the frame exists, yellow means that the frame exists but another sequence has a missing frame, red means the frame does not exist. The top line in the graph represents the complete loader and will be either green when all frames in all sequences exist, or red when at least one is missing.
    • Particle Count Graph - this is the old mode which checks the particle counts inside the files and is thus slower.
  • Increased the limits of the Frame Offset track to -10/+10 million to allow larger and lower values - if a BIN file sequence was saved from RealFlow without adding an underscore to the emitter's name, it would be called something like Circle0100000.bin instead of Circle01_00000.bin. To be able to load such a sequence in a PRT Loader on frame 0, one would need an Offset of 100000 because Krakatoa sees the suffix as frame 0100000.
  • Added an option to disable the render flag of any sequences that have missing frames according to the File Availability Graph.
  • Added a button to automatically determine the "Limit to Custom Range" start and end frames based on the availability of frames in all loaded sequences.
  • Improved Culling algorithm to avoid leaking of particles from self-intersecting meshes.
  • The new Surf.Threshold option (checkbox and spinner) enables to culling of particles based on their distance to the surface of the culling geometry. [4419]
    • If the On checkbox is not checked (culling is off), the particles will appear on both sides of the surface.
    • If the On checkbox is checked but Invert is off, particles will appear on the inside of the surface.
    • If both On and Invert checkboxes are checked, particles will appear on the outside of the surface.
  • Normals From Surface option added to the Particle Culling group of controls. When checked, each particle will acquire the normal from the closest culling surface. [4373]
  • Added a new display option Display Normals which draws the normal vectors in the viewport (if available). The new Scale Normals value can be used to determine the length of the normal vectors in the viewport.
  • If available, normals will be deformed by modifiers. [4372]
  • The Normals From Surface feature respects the Threshold value.
  • The Normals From Surface are now smoothly blended with the preexisting normals.
  • Added color swatches to the Load Mode drop-down lists to represent the current selection - Red=Every Nth, Green=First N, Blue=Last N, While=Use Render Mode.
  • Added an option to copy the Density channel to an arbitrary Mapping Channel.
  • Added an option to assume the Density channel to have a value of 1.0.
  • Added a dedicated PRT Loader Manipulator - enable Manipulate mode in the Main Toolbar of 3ds Max and control particle count in viewport and renderer as well as icon size via on-screen manipulators. By default, the Manipulator will snap to every 10%. Hold SHIFT to slide the values with floating point precision.

Enhancements

  • Extended the File Sequence Manager (Edit... button in PRT Loader) to display:
    • All Particle Channels used by the loaded particle sequences. It supports PRT, BIN and CSV files and will show the depth of each channel if available or -- if not used;
    • The Viewport and Rendering flags;
    • Whether the sequence has been found on disk or is missing.
  • Viewport and Render Limits values have been changed to floats. Thus, entering 123.456 in the Limit field will result in exactly 123456 particles being loaded.
  • Added Preset Buttons to quickly set typical values for the following fields:
    • Render Percent
    • Render Limit
    • Viewport Percent Of Render
    • Viewport Limit
  • Split the User Interface of the PRT Loader into more smaller rollouts. This allows you to collapse portions of the UI that are not used at the moment or fit the UI better in multi-column Command Panel.
  • The loading code has been optimized for better network performance and has been multi-threaded with one thread reading into a buffer and the other thread copying the data into memory.
  • When the "Load Single Frame Only" checkbox is on, the PRT Loader will load the particles only once, resulting in much higher performance when moving the time slider.
  • Holding down the CTRL key while clicking the "Add Files..." button will open the File Dialog at the Default Path specified in the Preferences (if specified).

Bug Fixes

  • Fixed a regression which broke the Edit... button. Added support for instanced PRT Loaders so if two or more instances of the same Loader are selected, the Editor will still open.
  • The "Non-finalized channel" error caused by attempting to load 0 particles from a valid file has been fixed.


PARTICLE ANALYZER ENHANCEMENTS

  • Added a Presets>> button to the Graph Colors group of controls with two options:
    • Save Color Preset - saves the current color settings to a preset file
    • Load Color Preset - loads the color settings from a preset file
  • Made all options sticky - all settings will be stored in the file KrakatoaParticleAnalyzer.ini and will persist between sessions. To reset to defaults, delete the INI file.
  • The Analyzer now respects and outputs to HTML the memory usage in bytes per particle used to generate the Memory Limit line.


THINKING PARTICLES SUPPORT ENHANCEMENTS

  • The particle channels (Position, Velocity, Scale, Age, LifeSpan, ID) are now accessed directly via the TP SDK and not through the IParticleObjectExt interface. This fixes some issues caused by our previous approach.
  • Support for TP Groups has been enabled - inclusion / exclusion lists in the Thinking Particles Groups rollout can be used to specify which groups will be visible to Krakatoa. These lists mirror the Renderable option state of the Groups in TP.
  • Support for the Group Color as the particle color was added. This will be used when the particle does not provide a dedicated Color Data Channel.
  • Support for Color and Density via Data Channels has been added:
    • If a Data Channel of type Color with the name "Color" is detected, its data will be used as Particle Color by Krakatoa. The content of the channel can be set using any valid TP operators.
    • If a Data Channel of a type Float with the name "Density" is detected, its data will be used as Particle Density by Krakatoa. The content of the channel can be set using any valid TP operators.
    • Note that if a Data Channel is defined for a particle but its content has not been set, the default value (black for color, 0 for density) will be used, typically making the particles hard to see or invisible in Krakatoa.


NEW PARTICLE FLOW OPERATORS

  • A new set of Krakatoa Particle Flow Operators has been introduced to remove the severe limitations imposed by the original v1.0 versions. They require the particle sequences to contain a particle ID channel to function properly!
  • Krakatoa File Birth can now load a dynamic sequence of particle files, creating only particles that do not exist in the flow yet (based on their born ID)
  • The Krakatoa File Update operator can load arbitrary channels from a particle file sequence and write to any Particle Flow channel with matching data type.
  • When loading data, it can be mixed with the existing data in the destination channel using either Blend or Add modes. The amount to be loaded can be controlled by an animatable percentage value.
  • Particles that are supposed to die because they do not exist in later frames of the sequence will be marked in a dedicated File ID channel and can be sent out and optionally deleted using a new Krakatoa File ID Test operator.
  • A new Krakatoa Geometry Test operator allows particles to be sent out based on their position relatively to an arbitrary volume using the same code as the Particle Culling in the PRT Loader, including the improvements in the area of leak prevention. This methods is much faster and leaves less particles behind than comparable operators. It also provides Distance Threshold controls for detecting particles that are close to the surface, or particles that are far from the surface.
  • All operators including the existing Krakatoa Options one have dedicated icons now.

ORBAZ PFLOW TOOLS BOX #3 PARTITIONING SUPPORT

  • Added options to the Partitioning Rollout to affect Box #3 Sub-Operators' Random Seeds. Separate controls for Geometry, Random, Scalar+Vector and Icon sub-operators are available. "NOSEED" in sub-operator's name can be used to disable specific sub-operators from being affected.


CAMERA SUPPORT IMPROVEMENTS

  • Krakatoa now supports DOF ON, f-stop and Focal Distance from Brazil 2 cameras.
  • Perspective, Orthographic and Spherical lenses of Brazil 2 cameras are also supported.
  • Krakatoa now supports the DOF and f-stop settings of V-Ray Cameras.
  • Krakatoa now provides a Camera Modifier which, when added to a Standard Camera, allows the optional specification of
    • Projection type (Perspective, Orthographic, Spherical),
    • FOV (up to 360 degrees)
    • f-stop value
    • Focal Depth
    • Sub-pixel offset for fine-tuning the Krakatoa camera projection to match other 3rd party renderers.
  • NOTE:The support of the f-stop in mental ray Depth Of Filed Multipass Effect has been removed. To use DOF with a Standard Max Camera, the Krakatoa Camera Modifier must be applied.


WINDOWS VISTA AND 3DS MAX 2008 SUPPORT

  • When installing Krakatoa on 3ds Max 2008, the 3ds Max 9 plugin will now be used automatically. In the past, the installation failed without adding an entry to the plugin.ini file because there was no Krakatoa plugin folder for that version.
  • When installing Krakatoa on Windows Vista, the plugin path will be added to the plugin.ini file in the User Profiles folder instead of using the plugin.ini in the 3ds Max root folder.
  • Krakatoa Icon files will be copied to the #usericons folder for Max 9 and 2008 - the system icons folder cannot be copied to in Windows Vista.
  • History support was added to all Open and Save dialogs in the Krakatoa and PRT Loader GUIs under Max 2008.


OTHER BUG FIXES

  • A bug was discovered by a user of a localized (German) version of 3ds Max - several properties like Shadow Map Size and f-stop were not read correctly because they were implemented using ParamBlock1 in early days of Max and would always return localized SubAnim names instead of the English ones. This has been fixed and should solve similar problems in other localized versions of 3ds Max (French, Japanese etc.)
  • Velocity vectors from Legacy Particle Systems (SuperSpray etc.) were read in wrong units, resulting in no visible Motion Blur. This has been fixed.