Previous Topic (1.5.1 Release Notes) Up (Release Notes) Next Topic (1.1.2 Release Notes)

Krakatoa 1.5.0.37202 as of 2009/08/14

For an expanded discussion of the new features in Krakatoa 1.5.0, see also the topic "What's New In Krakatoa v1.5.0"

INSTALLATION

  • The installer (Add Krakatoa To 3ds Max Wizard) will deal with installing TBB.DLL and Helium automatically.
  • If you have installed Helium manually in a general Plugins folder, you might get a duplicated plugins warning when launching 3ds Max. Remove the previous version manually to fix this.
  • When adding Krakatoa to 3ds Max, it is important to use the Wizard - simply adding the path to the plugin.ini is not enough as the TBB.DLL and Helium installation steps have to be performed, too.

MAJOR NEW FEATURES

  • The following is a list of the major new features in Krakatoa 1.5. See the notes below for additional details:
  1. Voxel Rendering - particles can now be rendered as voxels, removing the pixelization on close up and adding some new capabilities.
  2. Krakatoa Channels Modifier / Krakatoa Channels Editor - a new flexible node-based programming environment for modifying particle data and object and scene level.
  3. Light Scattering Phase Functions - Isotropic, Phong Surface, Henyey-Greenstein and Schlick scattering modes with Per-Particle Data Support of Specular and Phase Eccentricity values.
  4. Absorption and Emission Support - particles can not only scatter light but also absorb its RGB components and also emit light. Each particle can have its own Scattering, Absorption and Emission value for ultimate level of control.
  5. Environment Reflections Support - environment maps including HDR images can be used as additional lighting pass.
  6. PRT Volume Objects - a new geometry object can fill the volume of any more or less closed geometry surface with particles for fast particle cloud creation.
  7. Particle Skinning - the Krakatoa SkinWrap World Space Modifier can be used to deform particle clouds or mesh vertices using other deformed meshes.
  8. Matte Objects Resterizing - new Matte Objects rendering approach results in impressive performance boost when using heavy geometry to occlude particles.
  9. Opacity Mapped Matte Objects - support for black&white matte masks allows for complex mattes using simple mapped geometry. Multiple images can be saved out for better compositing of foreground and background layers.
  10. ParticleOStream MAXScript Interface - enables the creation of arbitrary PRT files via MAXScript, can be used for example to create particle files out of Max Hair splines.
  11. FumeFX Rendering - FumeFX grids can be converted to particles and rendered directly in Krakatoa using less memory.
  12. 3ds Max 2010 Support including redesigned VFB Extension controls.
  13. Enhanced User Interface Experience - rollouts can be hidden, floated, docked to alternate floater, custom rollout configurations can be saved and loaded, one-click navigation to all major rollouts and back to the Main Controls rollout has been added to speed up the workflow.

Performance

Beta 1

  • Added multi-processor support to the culling phase of the particle loading. Culling is now approx. 3.5 times faster on a 4 CPU machine compared to v1.1.
  • Added multi-processor support to the shading phase of the particle loading. Evaluation of Materials and Maps is now between 3 and 5 times faster on a 4 CPU machine compared to v1.1, depending on the number and type of maps used.

Beta 2

  • Improved Voxel Rendering performance by multi-threading the resolution-dependent portion of the process. Depending on the resolution. voxel size, filter radius and number of CPUs, the performance improvement ranges from 2.5 to 4.5 times and possibly higher.
  • Improved Voxel Filtering performance resulting in another 2 to 3 times acceleration, even with Filter size of 1. Larger filter sizes like 5 are now significantly faster than in Beta 1.

Beta 4

  • Improved Voxel Rendering performance by rasterizing the voxels in the current scan plane and shading only active voxels. Depending on the size of the voxels, the depth of the voxel grid and the percentage of empty voxels, the speedup can be up to 6 times as compared to Beta 3.
  • Improved Matte Objects performance by up to several orders of magnitude (depending on matte geometry complexity) by rasterizing the matte objects geometry instead of raytracing it.
  • Changed the update rate of the VFB when rendering voxels. Updating the VFB for each scan plane was measured to add up to 10% to the render time. Now an update will be made every 20 scan planes.

Beta 5

  • Changed the update rate of the VFB again, this time Voxels will be updated exactly 10 times just like Particle rendering. This can cause a slight slowdown in simple scenes which used to update less than 10 times in Beta 4, but will be faster in scenes with lots of scan planes which would have resulted in more than 10 updates in the past.

Beta 6

  • Yet another round of speeding up the Voxel Rendering by multi-threading the Camera Pass (Environment Reflection, Emission and Additive Rendering cause a Camera Pass to be calculated).
    • Using the Buddha statue with Environment Map, the following results were recorded for Beta 6 vs. Beta 5:
      • Rendering from disk with Environment Map: Beta 5: 43.593 sec. | Beta 6: 21.391 sec. (2.03791x faster)
      • Rendering from PCache without Environment Map: Beta 5: 8.531 sec. | Beta 6: 8.454 sec.
      • Rendering from PCache with Environment Map: Beta 5: 39.562 sec. | Beta 6: 16.734 sec. (2.36417x faster)
      • This means that the Environment Pass itself took: Beta 5: 39.562-8.531=31.031 sec. | Beta 6: 16.734-8.454=8.28 sec. (3.74771x faster)

Lighting and Shading

Beta 1

  • Added the ability to calculate Anisotropic specular highlights based on normal and tangency vectors. NOTE: This was removed from Beta 8+ and won't ship with the final version. Might be reintroduced in the future.
  • New drop-down list with shading modes replaces the Use Normals button.
    • Isotropic - the original shading mode of Krakatoa, each particle is illuminated without taking normals into account.
    • Phong Surface - a Phong specular highlight is added to the diffuse shading.
    • Ward Surface - an Anisotropic specular highlight is added to the diffuse shading. Requires a "Tangent" channel in addition to a "Normal" channel.
    • Henyey-Greenstein - a volumetric scattering model - Google
    • Schlick - a volumetric scattering model.
  • Added support for Environment Reflection Maps in Particle mode.
  • Added support for saving the Lighting channel to PRT sequence. See below for notes on loading Lighting channel.

Beta 2

  • Added support for Environment Reflection Maps in Voxel mode.
  • Unified internally the volumetric and additive modes into a single cohesive system in preparation for coming changes.

Beta 4

  • Added the ability to load the Lighting channel from a PRT file sequence using the Krakatoa Channels Modifier.
    • Simply add a Lighting Channel and multiply with the Color Channel to apply the lighting information to a PRT Loader's particles.
    • When rendering as Particles, disable the >Use Scene Lighting option to get your particles rendering with the baked lighting.
    • Since Voxels always require lighting, this is not well supported in Voxel mode yet.
  • Light Transformations are now sub-sampled when using Krakatoa's Native Motion Blur in Voxel Mode.
    • Particle rendering with Krakatoa's Native Motion Blur calculate the lighting only at the center of the interval.
    • Particle rendering with Max Multi-Pass Motion Blur will perform light motion blur at the cost of re-lighting the particles for each pass.

Beta 6

  • Direct Lights did not illuminate the Voxels in previous builds. This has been fixed.
  • The 3ds Max Falloff Map is now fully supported including Fresnel Mode, Object-based modes (Distance Blend with Object Falloff) etc.
    • The Normal channel must be present for most Falloff modes like Fresnel to work correctly.
    • The Falloff Map can now be used correctly in KCM flows. Remember that local object KCMs operate in Object space, so an Object-based Distance Falloff for example would measure the distance relatively to the world origin and not relatively to the object. This can be overcome by using the Falloff map in a Global KCM since it operates in world space!

Beta 7

  • Added a new dedicated Krakatoa Material which provides ONLY the relevant controls - Scatter (Diffuse) color, Emission color, Absorption color and Density, all with Map support and Multiplier spinners.
  • Added support for the Standard Material as the source of Emission (Self.Illumination) and Absorption (White-Filter) colors in addition to the already supported Scatter (Diffuse) color. It can be used for compatibility with other renderers if assigning a Krakatoa Material is not an option.

Beta 8

  • Added Global Overrides for Scatter Color, Emission, Absorption and Density to accelerate the workflow. These are in addition to the Global Override Sets that still allow KCMs to be run on all particles.
    • All overrides provide a static color value, mapping support and a blend amount value to combine the color value with the map.
  • Added support for the Standard Material as the source of Emission (Self.Illumination) and Absorption (White minus Filter) colors in addition to the already supported Scatter (Diffuse) color. It can be used for compatibility with other renderers if assigning a Krakatoa Material is not an option.
  • Added controls to allocate per-particle channels for Phong Shading (SpecularPower and SpecularLevel) and Scattering (PhaseEccentricity) when needed.
    • When the option is turned off, the Default value will be used for all particles without memory overhead.
    • When the option is turned on, the value found in the respective channel will be used. If the channel has not been set using a MagmaFlow, the Default value will be used to initialize the channel. In both latter cases, this will cause more memory to be allocated.

Beta 9

  • Lighting with multiple lights was broken in Particle mode. Only the last light was used.
  • Additive Shading was broken in Voxel Mode. It is now fixed.
    • Note that Additive Shading can be achieved using the Color, Emission and Absorption channels and MIXED with Volumetric shading within the same image. Simply set the particle Color and Absorption to black and Emission to the desired color. You can control the channels with maps to define the areas to be additive or volumetric.

Beta 10(RC1)

  • Changed the way Ignore Scene Lights works. In past builds, it modified channels internally to produce results comparable to v1.1.x. Now it will render black unless >Use Emission is checked and some Emission data is found (either local or globally overridden). To get the results of v1.1.x, check >Override Emission, >Use and set the Color you want in the Global Values Rollout, or provide Emission via Materials, KCMs or PRT files.
  • Glossiness (SpecularPower) and SpecularLevel will now be acquired from the Standard Material if they are enabled for allocation and a material is assigned.
  • Added an option to Channels rollout to save Lighting data into the Emission channel.

Rendering

Beta 1

  • Added a new Voxel-based rendering mode with the following features:
  • Improved memory management when rendering massive amounts of geometry vertices. In previous versions, all objects were kept in memory during the loading, now the vertices will be acquired and the mesh discarded, reducing the memory usage significantly.
  • Added an option to the Iterative mode to scale the render output and keep consistent density for fast previews with a fraction of the particles.

Beta 2

  • Added the ability to directly render any geometry volumes as particles or voxels.
    • A Krakatoa GeoVolume modifier is used to control the implicit conversion.
    • The Krakatoa Main Controls rollout now includes a "Geo.Volumes" option.
    • The particles will acquire optionally surface data including Normals, Vertex Colors and Texture Coordinates.
    • The resulting particles can be also saved to disk for later use.
  • Added the ability to render FumeFX simulations directly as particles or voxels.
    • A Krakatoa FumeFX modifier is used to control the data conversion/acquisition.
    • The Krakatoa Main Controls rollout now includes a "FumeFX" option (replacing the unused "Other Particles" option).
    • The resulting particles can be saved to disk for later use.
  • Added a global override to Ignore Missing Particles from PRT Loaders.
    • When enabled, missing PRT files will be assumed empty and the scene will render without them instead of throwing an error message.
    • This override will persist and can be enabled for both local and network rendering.
    • It is colored in red to keep it visible since it can result in incorrect output if enabled for production rendering with missing/bad PRT files.
  • Changed the default behavior of the PCache when network rendering.
    • By default, the cache will be disabled while rendering in slave mode.
    • An option to modify this behavior for the current scene only (non-sticky between scenes or Max sessions, only sticky to the current file) has been added to the RENDER button's Right-Click Menu to achieve the current behavior in the rare cases it is needed (rendering a static particle cloud with optional static lighting with a moving camera on a single machine).
  • Geomtetry Vertices now render with correct normals in Phong Surface mode.
  • The Load Percentage spinner is enabled again and working. It was broken and thus disabled in Beta 1.
  • Voxel Rendering now supports custom background color and adds watermarks correctly when unlicensed.

Beta 3

  • Particles with invalid positions (at infinity) will now be skipped and not rendered. Such particles used to accumulate at the world origin, causing visual artifacts.
  • Changed the GeoVolume to have higher priority than Thinking Particles and Legacy Particles source types.
    • NOTE: This does not work in Beta 8+ anymore due to the PRT Volume object introduction. Use Mesher Compound instead.
    • Adding a GeoVolume modifier on top of a TP object or a Legacy Particle System will cause the MESH produced by the system to be used to fill a volume with particles instead of pulling particles from the system. This can be used to quickly produce a high particle count out of Thinking Particles or Legacy Particles shapes.
    • This does NOT work with PFlow yet, but you can use a Mesher Compound object to get the same result.
    • The Color memory channel type was temporarily set to float32[3] since the Level Set conversion provides a float32 color and the conversion is not implemented in the GeoVolume code yet. This will be switched back to default to float16 later. If you have saved custom defaults, be sure to either revert to Factory defaults or change the Color channel to 32 manually when using TP as GeoVolume.
    • If the system has no shapes and a GeoVolume is added, it will not render (since no mesh).
    • Currently, disabling the GeoVolume modifier will NOT make the TP render as particles. You will have to remove the modifier completely to enable TP rendering as particles again.
    • Disabling the GeoVolume modifier of a Legacy Particle System will make it render as regular points.

Beta 4

  • GeoVolume (LevelSet) Color channel conversion between 32 and 16 bit now supported internally. The default Memory Color Channel is switched back to float16[3].
  • Added support for Absorption Channel in Voxel Mode only.
    • The previously added but unused option >Use Filter Color has been renamed to >Use Absorption and is now usable in conjunction with the Krakatoa Channels Modifier.
    • When turned off, the attenuation will be applied to R,G and B equally, always resulting in a fade to black.
    • When turned on, the attenuation will affect the R, G and B separately using the Absorption color which is similar to APME Extinction, but does not represent the color loss over a given distance but the color loss over a given density.
    • To use the Absorption, add a new KCM and feed a Vector value into the Absorption channel. For example, a value of [0.1,0.001,0.0] will affect the Red channel stronger than the Green and not affect the Blue channel at all, resulting in a fade to blue over density (which at lower density settings will lead to fade to blue over distance, too).
  • Many Voxel Rendering Motion Blur bugs have been fixed.

Beta 5

  • Fixed a bug which resulted in voxels not rendering under specific lighting conditions (when the angle between camera and light was above 90 degrees and the camera was very close to the voxel grid).

Beta 6

  • Added support for Emission channel in Voxel and Particle mode which defines particle self-illumination. The option is enabled using the >Use Emission checkbutton in the Main Controls rollout.
  • Added support for Absorption channel in Particle mode.
  • Added support for the Fire channel, allowing for better shading of FumeFX simulations.
  • Voxel rendering now supports Krakatoa DOF.

Beta 8

  • Having an active Hair & Fur Render Effect or an active Hair WSM in the scene used to CRASH Krakatoa. Now the Hair Effect will be disabled by Krakatoa upon rendering.
  • The GeoVolume Modifier had to be REMOVED and has been replaced with a PRT Volume Object.
    • The PRT Volume object lets you pick a scene geometry object as the source and fills it with particles both in Viewport and Renderer.
    • It behaves like a PRT Loader in that particles can be modified by KCMs and deformed interactively.
    • All supported channels (Normals, TextureCoords, SignedDistance) will be acquired automatically.
    • The viewport display can be limited to a Percentage of the render count and to an absolute cap value (default limit is 1 million).
    • The SignedDistance channel will contain the distance from the particle to the surface of the volume with a negative sign (since inside). It can be used in MagmaFlows.
    • You can link the PRT Volume to the source object if you want to fill moving objects, or have the particle cloud transformed independently - the particle filling happens in object space and ignores object level transforms.
    • A new GEO icon/MacroScript has been added to automate the creation of PRT Volume objects. Either select one or more geometry objects and hit the icon to fill each one with particles, or select no object or hold down SHIFT to create a new PRT Volume at the origin and pick the source geometry later.

Beta 10

  • Added APME Support for Voxel Rendering. Now the Voxel Rendering mode matches the Particle Rendering mode's feature set.
  • Fixed >Force Additive Mode to behave the same with Voxels and Particles. When it is checked, the Color channel will be copied into the Emission channel with Color and Absorption set to black internally.
  • PRT Volume now has independent Viewport controls.
  • PRT Volume was not implementing GetRenderMesh(),causing crash in other renderers. This is now fixed.
  • PRT Volume MacroScript now acquires the material of the source as well as its name. The new name will be "PRTVolume_SourceName_XX, for example "PRTVolume_Sphere01_01", allowing you to create another PRT Volume from the same object with name "PRTVolume_Sphere01_02".
  • Evaluation mode now renders without watermark when the resolution is below YouTube's standard 480x360, allowing new users to produce publishable work without using an illegal copy of Krakatoa.
  • Saving Attenuation Maps was broken in Max 2010 due to a version mismatch in one of the libraries. This has been fixed in both 1.5.0 and 1.1.3 versions.
  • Added the current Particle Count and Cache Memory to the History record. Now it is easy to tell how many particles were rendered when looking at an image in History.
  • (RC2) Added Jittered Motion Blur support to Voxel Rendering mode.
  • (RC3) Removed the >Scale Density using Material Opacity from the Main Controls rollout. Density will always be scaled unless Opacity is set to 100% or the Krakatoa Material is used which can turn that on and off.
  • (RC3) Krakatoa Material is now supported for all particle sources, not just PRT Volume and PRT Loader.
  • (RC4) Added viewport particle count display to the PRT Volume object.

Matte Objects

Beta 1

  • Improved quality of Matte object rendering by casting multiple rays per-pixel to determine the particle's visibility at the edge (Anti-Aliasing).
  • Added support for Opacity Mapped Matte Objects.
  • Added support for Matte Objects Deformation Motion Blur. This is performed by brute-force update of the matte geometry. When using the old kd-tree approach, it will result in slower performance when enabled. With the new Rasterized Matte Objects method, the difference in performance should be barely noticeable though.

Beta 2

  • Added a new option to Matte Objects to output multiple image layers instead of a single image. The layers can be used to better integrate geometry inside of particle clouds by providing a background and foreground layer.

Beta 6

  • Matte Objects rendering was broken when Krakatoa's native DOF was enabled. This has been fixed.
  • Matte Objects did not support the Visibility Channel. This has been fixed.
  • The old Matte Objects methods (Raytracing and Raytraced Depth Maps) have been removed. The only Matte Objects mode supported in Beta 6 is Rasterized Depth Maps.

Partitioning

Beta 2

  • Added a check for used Map Channels in Particle Flow operators before partitioning.
    • The check will scan for Mapping operators, Box #1 Mapping_Object operators and Output_Standard sub-ops in Box #3 Data Operators and collect their Mapping channels.
    • Then it will check whether these mapping channels have been specified for saving in the Channels rollout and warn the user if they are not.
    • The user will have the ability to add these channels automatically, ignore the warning or cancel the Partitioning before it starts and fix the problem manually.
    • This check does NOT apply to other types of objects like Mesh Vertices etc. yet, only to Particle Flow mapping channels.

Beta 3 SP1

  • Added an error trap to avoid crashes when Mapping_Object is not a valid class (Box #1 or 2009 Creative Extensions not installed).

Particle Loader

Beta 1

  • Changed the Edit button to a [>>] button with a context menu with the following options:
    • Open File Sequence Editor...
    • Select All - selects all sequences on the file list
    • Invert Selection -inverts the selection
    • Add Save Particles sequence - adds the path specified in the Save Particles rollout, even if not rendered yet.
    • Add All Save Partitions sequences - adds all paths specified by the Save Particles and Partition rollouts, even if not rendered yet.
  • Added Custom Range behaviors for Before Start and After End cases:
    • Hold - same as previous versions, the first frame is held before and the last after the range.
    • Blank - outputs no particles but does not fail. Useful when the first or last frame contains some particles, but the user wants none outside the Custom Range.
  • Particle Culling precision has been improved - in the past, it would shoot two rays and if the two would give different results, would shoot a third one. Now, it will continue shooting rays until it figures out the particle's location or consider it in the plane of all faces.
  • The color "lamp" for Load Every Nth has been changed to orange to avoid the red color which normally signifies trouble.

Beta 2

  • Added a new [>>] menu next to the Playback Graph and Offset spinners, providing some keyframe animation functions:
    • Create LINEAR Playback Keys - deletes any existing keys, assigns a new Bezier Float controller and creates two keys - one on the first frame of the current segment with the same value as its time, and another at the end of the current segment with its time value and out of range types set to Linear. The Out-Of-Range types are set to Linear. This results in regular linear playback like without Playback Graph. Once the keys are created, the user can shift them to speed up/slow down the animation, or create new keys in the controller.
    • Create ACCELERATION Playback Keys - Same as the previous option, but sets the first key's out tangent type to Slow and the last key's in tangent type to Fast, resulting in an accelerating animation.
    • Create DECELERATION Playback Keys - Same as the previous options, but sets the first key's out tangent type to Fast and the last key's in tangent type to Slow, resulting in a decelerating animation.
    • Create PING-PONG Playback Keys - This option is similar to the previous ones, but it creates three keys where the middle key is in the middle of the animation and has the value of the last frame, while the first and last keys have the value of the first frame. The tangent type of all keys is set to Auto.
    • INVERT Existing Animation - reverts the complete animation of the Playback Graph controller, including keys outside of the current segment.
    • DELETE Existing Animation - deletes all keys from the Playback Graph controller.
  • Added options to the [>>] menu next to the Add/Remove buttons to copy the currently selected or all files from the PRT Loader into the Windows Clipboard (when copying one file only, the current version adds a new line at the end of the line which will be fixed in Beta 3). This can be useful to grab the file names of sequences you want to get synchronized between offices (for example send an email requesting them). Other than double-clicking a file name, this works with missing files, too.

Beta 7

  • Changed the PRT Loader's Culling controls to allow the selection of multiple nodes via Select By Name to create a Named Selection Set.
    • The Named Sel. Set will be named after the first selected node and contain the number of other nodes in brackets, e.g. "Sphere01(+2)".
    • The "none" entry is now called "No Culling Named Sel.Set" and the pick button is now a button with the label "Make Culling Named Sel.Set"
  • Removed the "Assume Density of 1.0" and "Density->Mapping #..." controls as that functionality (and much more) is now available through KCMs.

Beta 8

  • A longstanding bug which caused PRT Loaders to clear the Undo Stack on creation has been fixed. PRT Loaders creation can now be undone and redone without limitations.

Beta 10

  • (RC1) Added Ignore Materials checkbox. When on, the Viewport will show the local color and ignore the material. Does not affect rendering.
  • (RC1) Removed Color Sources lists for rendering and viewport. If a material is assigned, it will be used.
  • (RC1) Update the Presets saving mechanism, rewrote the code to make it easier to customize in the future. Removed old properties, added the new ones.
  • (RC3) Fixed a bug where the presets loading on creation would use the wrong INI file and would load presets even when loading of presets was off.

MAXScript ParticleOStream

Beta 2

  • The Krakatoa Particle Stream has been exposed to MAXScript. This allows for saving PRT files directly to disk using MAXScript code even without any particle system source.
    • Using the Particle Stream, one can create ANY particle cloud based on mathematical functions, scene geometry etc.
    • Some example MacroScripts showing the creation of random points on the surface including UV coordinates and Normals acquisition and Hair generation are included.

Particle Channels Modifier

Beta 4

  • Added a 'Krakatoa Channels Modifier (KCM) featuring a node-based Krakatoa Channels Editor (MagmaFlow).
    • The amount of new features related to the KCM/KCE is too huge to fit in this space, please check out the above link for details.

Beta 5

  • Added the ability to expose Inputs (Float, Integer and Vector) to the KCM's UI for simplified end user access.
    • Added new Expose menu to the KCE with options to Select Exposed, Unexpose Selected, Expose Selected and Update Exposure.
    • Added the AUTO-UPDATE button to the KCM's UI for people using the Exposed controls.
  • Fixed a bug in newly created KCMs where clicking on the Output would cause a MAXScript Error.
  • Fixed the error highlight not to drop the current selection when an Operator is created - this was disrupting the auto-connection flow.
  • Expanded the Depot functionality:
    • Added display of saved BlackOps as part of the Depot.
    • Added the display of the full name of a selected Depot button in the bottom right corner (useful when dragging BlackOps with long names)
    • Made the Depot buttons wider and expanded some operator names.
    • Added optional Category headers to the Depot.
      • Clicking on a Category header collapses or expands that category.
      • Shift+Clicking expands all Categories
      • Ctrl+Clicking expands on the clicked category and collapses all others (Solo)
      • Shift+Ctrl+Clicking collapses all Categories
  • Added right-click menu to Depot to change display options, and a Show Depot to the schematic view rightclick menu when the Depot is off.
  • Added Depot controls including button size, location and Category display to Display Options rollout.

Beta 6

Global Channel Overrides

  • Introducing the concept of Global Channel Override Modifiers (Global KCMs) which are applied to particles after they have been loaded.
    • Global KCMs are evaluated in World Space (important to keep in mind when using To/From World/Space).
    • Global KCMs should be used in place of the old Color Override options, for example to apply a single color or map to all particles in the scene, but are a lot more powerful because they can modify not only the Color channel but ANY channel using ANY flow that could be applied to particles on the stack!
    • Global KCMs can NOT be previewed in the viewport though, they are evaluated only at render time.

General

  • With the introduction of the new Editor name (MagmaFlow), some file extensions and folders including the default Flow save location and extension have changed. This means that old files will not show up the UI and Open dialogs. You can move them and rename the extension since the internal structure hasn't changed.
  • KCM Modifiers are now evaluated correctly within the modifier stack and will respect channels modified by previous non-KCM modifiers. Previously they were executed in a separate pass before the rest of the modifier stack.

BlackOps

  • Fixed error in determining the connection count of a BlackOp. This in turn fixes auto-connecting inputs to a BlackOp and the highlighting of a BlackOp with unconnected inputs as Error.
  • Added new Bottom - Rollup Depot display mode where each category is represented by a column (drawer) that rolls up when the header is clicked. Default behavior for this mode is Solo (all others collapse automatically).
  • Added support for BlackOps categories using sub-folders of the main BlackOps folder. Only one level deep for now.
  • Added an Explore Folder button to the BlackOp rollout which opens the Windows Explorer at the BlackOps storage location.
  • Added a BlackOp editing mode, removed the Expand All BlackOps.
    • The Editing is performed in a BlackOp-only view.
    • The BlackOp definition can be edited freely.
    • New Connectors can be added from the Depot and existing Connectors can be removed freely.
    • The names of the Connectors (sockets) can be edited.
    • The BlackOp definition can be saved to disk or replaced with a definition from disk.
    • The edits can be committed or discarded on exiting the mode, which allows for temporal edits. For example, a BlackOp can be opened for editing, changes can be made and saved to disk and then the Edit mode existed without committing these changes to the current KCM.
    • Nested BlackOps can be edited (moving down one level to another BlackOp will require the committing of the changes to the current BlackOp).

Nodes Depot

  • Added new Bottom Reverse Rollup Depot display mode where the category stays at the bottom and the node buttons are listed in reverse order bottom to top.
  • Added new option to Auto-Collapse Categories on DragAndDrop.

Nodes

  • Added more typical channels from RealFlow and a new Emission channel from Krakatoa to the Channels list.
  • Added a text description of the Channel mentioning where it is typically being used (Mass in RealFlow, Fuel in FumeFX etc.)
  • Changed Output text of ToSpace and FromSpace to show the name of the scene object used to transform.
  • Added the ability to flip the location of the Output Socket of Input Nodes to the left side.

Connecting

  • Added Undo record for each Auto-Connect operation allowing the separate undo of the connecting and the node creation.
  • Added a special case connection handling when a Float is auto-connected to a ToVector node - the Float will be connected to all three input slots of the Operator, with each connection separately undoable (see above).
  • Expanded the SPACE connect mode to support BlackOps with arbitrary number of sockets.
  • Added the ability to drop a BlackOp and auto-connect with existing selection.
    • If the first selected node is already connected, that connection will be passed through the BlackOp.
    • Any other selected nodes will be connected to the rest of the empty sockets of the BlackOp.

MacroRecording

  • Added the ability to save the content of the Undo Buffer to a single file that can be loaded and played back to demonstrate various flows.
  • Added a dedicated MacroRecorder Editor for changing the timing and description text of each record. It can also be used to delete lines and save to disk the edited version.

Debugging

  • The ability to evaluate a flow in Debug mode has been added.
    • When Debug Mode is enabled, changing input values will show the current value in all Operators and the Output node.
    • Channel Input nodes use a default input value of 1.0, 1 or [1,1,1].
    • Channel Input nodes provide value fields that can be used to pass arbitrary data values through the flow.
    • Debugging is not supported in BlackOp Editing mode yet.

Beta 7

  • Added a new Noise Operator which expects a Float or Vector as Input 1, an Octaves Integer value as Input 2 and a Persistence Float value as Input 3 and outputs a Float based on a noise field.

Beta 10(RC1)

  • Added Color Clipboard to Vector Inputs
  • Added Complementary Color to Vector Inputs (While Minus Color) for Absorption setting
  • Added Keyboard Shortcuts for Modulo (5, because of % sign), as well as Number Keys for Integer Inputs (1,2,3,4), Shift+Number Keys for Colors (1,2,3,4,5,6,7,0) and Ctrl+Number Keys for Floats (1,2,3,4,5,6,7,8,9,0).
  • Fixed all sort of bugs in reordering code.
  • Fixed Select Unconnected Nodes to catch all nodes not connected to the Output node in some way.
  • Fixed TrackID generation when using the KCM shortcut on more then one object - the timestamp() seeding was causing the same Random numbers to be generated within the same millisecond. Now KCM will check existing IDs and continue generating until a unique one is made.
  • Added support for sub-folders (one level) in the MagmaFlow root folder. KCM now has two lists, one for folder, one for file.
  • Fixed first click in MagmaEditor which was not updating the Command Panel as expected.
  • Editor was not performing AutoZoom and AutoReorder on BLOP exploding, now it does.
  • Fixed Depot which was not collapsing when switching from BLOP editing.
  • Custom Channels created by the Output Node in a KCM are now assumed of Arity 3. Display was updated accordingly.
  • Removed Lighting channel from the list of supported channels. The Lighting/Shading data except for Environment Reflections will now be copied to the Emission channel.
  • Added Auto-Rename Off option to KCM. When checked, the name can be modified by the user and won't be overwritten.
  • Added Interactive Mode option to KCM. When checked, callbacks will be registered for dependency objects. SLOW!
  • Fixed Unconnected nodes placement in various reorder modes.
  • Added TextureMap Input connection color to the Display Options (it defaulted to pink but was customizable)
  • Added Index Input Channel to MagmaFlow (it will be populated with a particle index on the fly).
  • Added Derivative Noise (DNoise) Operator to MagmaFlow. Produces a Vector output (3D Noise).

Particle Flow Operators

Beta 2

  • Added the ability to use a PRT Loader as the source of a Krakatoa File Birth and Krakatoa File Update operator. The render stream of the PRT Loader will be used to create and drive the particles.
    • The render settings including timing controls, Every Nth/First N particles, Percentage and Limit will be used.
    • If the PRT Loader is hidden or its node level Renderable property is unchecked, the PRT Loader will not render but still provide particles to the PFlow.
    • If the PRT Loader is not hidden or made non-renderable and the Krakatoa Main Controls option to render PRT Loaders is enabled, both the PFlow and the PRT Loader will render.
    • If the Render checkbox in the PRT Loader itself is unchecked, neither PFlow nor the PRT Loader will render.
  • Introducing a Krakatoa Collision Test operator which is WIP and not ready for production use yet.
    • It uses the same acceleration structures as the Krakatoa Geometry Test and Geometry Lookup and is rather fast.
    • It currently does NOT take mesh deformation into account correctly - collisions will be calculated at subframes, but the velocity of the mesh will not be transferred to particles, so you cannot animate a Bend modifier to accelerate particles that it hits yet.
    • Currently it updates its geometry on every frame which is a bug and actually makes it slower than it really is, especially with large polygon counts. In theory, colliding 1M particles with 1M polygons should be nearly real time if the geometry did not have to update on each step. This should be fixed in Beta 3.
    • It leaks particles under certain circumstances, for example when slow particles are sitting on the surface of the collision object and a force like gravity is pushing them through. This is a bug and will be looked at later.

Beta 4

  • The ability to use a PRT Loader as a source in a Krakatoa File Birth / Update has been temporarily removed. A decision was made to provide separate dedicated operators for this purpose, but these are not ready yet.

Beta 6

  • Added a new Krakatoa PRT Loader Birth operator with only two buttons - one to pick a PRT Loader from the scene and one to remove it.
  • Added a new Krakatoa PRT Loader Update operator which can use a scene PRT Loader to update particle channels. It provides a simplified version of the channels dialog of the Krakatoa File Update with the ability to select channels, Add and Blend them but without the ability to copy data to other channels (since KCMs can now be used to do so within the PRT Loader).
  • Added options to the Krakatoa Geometry Test and Krakatoa Collision Test operators to respect animated geometry or assume it static.
  • Added the ability to load a percentage of particles with an ID channel into Particle Flow.

Beta 7

  • Fixed the missing rollouts in all Particle Flow operators in 3ds Max 2010.
  • PRT Loaders with KCMs can now be merged from other files without errors. Previously, some tracks would not be created causing errors in the MAXScript Listener. Connection to scene node tracks are NOT recreated (yet).

Beta 10

  • (RC1) Fixed the PRT Loader Update operator to load all Channels - Orientation was broken for a long time and all other channels were broken recently.
  • (RC2) Fixed the Krakatoa Collision Test operator which was not updating when the mesh was changed manually, for example by adding a modifier or changing topology.

Thinking Particles Support

Beta 3

  • Added support for Thinking Particles 4 (currently in Beta). In previous versions, Krakatoa would crash if TP4 was found in the scene.

Beta 4

  • Fixed a bug in the Groups collecting when a TP property would claim to be named # with no actual name.

Beta 10(RC1)

  • Added support for Arbitrary Named Data Channels from Thinking Particle groups. In the past, only "Color" and "Density" were supported. Now ANY channel name will be supported, including saving of arbitrary channels via the Custom Channels in the Channels rollout of Krakatoa and setting of Shading Channels like Emission, Absorption and so on via Data Channels in TP.

Deformations and Skinning

Beta 1

  • Introduced a Krakatoa SkinWrap World Space Modifier which can be used to deform points based on a reference (cage) mesh.
    • A user-defined reference frame of the cage mesh provides the initial influence values.
    • Both particles and mesh vertices can be deformed.
    • Other than the 3ds Max SkinWrap modifier, no pre-calculations are needed and the deformed object can change topology over time without problems. Only the deforming object must have consistent topology.
    • If the deforming object's topology between the current and the reference frame has changed, the Krakatoa Skin Wrap will disable itself automatically.

Beta 7

  • Fixed Base Frame range to allow for frames above 100.
  • Improved the viewport performance somewhat.

Beta 10(RC1)

  • Removed the error popup when invalid faces (e.g. on a Teapot) are found. A warning message will be printed to the Krakatoa Log but the deformations will be performed regardless. If the object contains too many bad faces, these should be removed by the user.

User Interface

Beta 1

  • Added the ability to control the rollout visibility and create custom UI configurations excluding rollouts that are never used or combining rollouts needed for specific tasks (rendering, saving, partitioning etc.) User Presets can be saved and loaded to save and restore specific layouts.
  • Added the ability to float any rollout as an independent dialog.
  • Added the ability to move rollouts to an alternative Secondary Floater, for example to keep the Main Controls and Channels/Matte Objects rollouts visible at the same time without scrolling. The Secondary Floater can be docked to the side of the Primary one, or positioned independently.
  • The Presets and History rollout now works with rollouts that are hidden, floated or when the whole Krakatoa GUI is turned off. This includes the saving of History records and thumbnails. This means that rendering using the 3ds Max Render icon or button will create History and Thumbnails even the Krakatoa GUI is not currently open.
  • Rearranged the Main Controls rollout.
    • Moved the Sorting Threads control to Performance rollout.
    • Moved the Shadow and Draw Filters to the Density controls area.
    • Moved the Render Particles From... options to the left of the Render button.

Beta 2

  • Draw Point and Self-Shadow Filter lists are now disabled when in Voxel mode.
  • New [<>] button to the left of the Help button can be used to manage Presets at rollout level:
    • Save a preset with only the current rollout's controls.
    • Load only the current rollout's controls from any preset
    • Save or Load a preset with all or a subset of all Krakatoa controls
    • Load the settings of the current rollout, all rollouts or a subset of them from History.
  • In the Save Preset tree view dialog, added a drop-down list with all existing preset names. This allows you to set of the name to save to an existing one for overwriting or to reuse a portion of an existing name.
  • In the Load Preset/History tree view dialog, added a Filter Pattern text field which can be used to filter the content of the drop-down list and display only a subset of the available Preset or History files.
  • The Filter Pattern text field will be set automatically to the name of the current Max file when loading from History or to the name of the current rollout when loading rollout-specific settings using the [<>] menus.
  • Fixed the blue (partition) progress bar in the Partitioning rollout which was showing incorrect range when saving a subset of partitions.
  • Changed the text in the PCache/LCache right-click menu from "Cached:..." to "In Memory:..." since particles in memory are only considered in cache if the PCache is actually checked.
  • Added comma delimiters to all places in the UI including the Krakatoa GUI, the PRT Loader and the GeoVolume Modifier where particle counts are being displayed to improve the readability of very long numbers. For example, 1234567.89 will now be written as 1,234,567.89
  • Added GeoVolume as a scene source type in the Render History records. Geometry objects with a GeoVolume modifier will NOT be included in the Geometry category anymore, only in the GeoVolume one.
  • Added GeoVolume as a scene source type in the Scene Particle Systems rollout.
  • Fixed a typo which survived over 3 years without being discovered, right there in the Main Controls UI. ">Use Lighting Pass Density Settings" was missing a T since the early Beta days.
  • Added a >Use Filter Color button which is not hooked up yet. When it is (possibly in Beta 3), it will allow light attenuation to respect the filter color of materials.

Beta 3

  • Added Krakatoa Build string to the Presets/History records.
  • Added [>>] Options buttons to the two filter fields in the Presets and History rollout allowing you to
    • Get the name of the currently selected Preset or History record into the field. If History, the date string will be removed automatically. This is useful when a record is selected and you want to show all related records with similar names.
    • Get the name of the current 3ds Max Scene File Name (if in History mode and scene is not Untitled). This is useful to see all History records from the current scene.
    • Clear the field
  • Expanded all Presets and History rollout controls horizontally to use more pixels.
  • Split the Cache rebuilding of Presets and History - if one of the caches is outdated, the other will not be rebuilt.
  • Made it impossible to remove the Position channel from the Save Channels list in the Channels rollout. A particle file must contain at least positions.
  • Added code to remove all Render Elements when Krakatoa is assigned as the current renderer.
    • In the past, assigning Krakatoa as the new renderer would keep existing Render Elements used by the previous renderer, but the Render Elements tab would be hidden. When submitting to Deadline, SMTD would create additional folders for these hidden elements.
    • Now, when Krakatoa is initialized, it will also remove all Render Elements from the hidden tab.
    • If you are using the Krakatoa MacroScripts to switch between Krakatoa and the previous renderer, the Render Elements will be correctly restored when switching back from Krakatoa, then removed again when switching to Krakatoa and so on.
  • Added a new MacroScript and icon for applying the GeoVolume modifier to one or more selected objects.
    • The modifier will be added only to Geometry class objects excluding PFlow, Legacy Particle Systems, PRT Loaders and Target objects.
    • The modifier will be added only if the object does NOT have a GeoVolume modifier applied yet.
    • If SHIFT is held while clicking the icon, a single instance will be applied to all selected geometry objects, otherwise a unique modifier will be applied to each object.
    • After the application, the modify panel will be activated.

Beta 4

  • BIN file names were not tested for compliance to the RealFlow 5 digits rule when using the [...] button in the Save Particles rollout. This has been fixed.

Beta 5

  • Added Absorption channel to the Save Channels list as well as to the Memory Channels list.
  • Changed the depth of most channels to default to 16 bits.

Beta 6

  • Added controls to include custom channels of arbitrary type to the Save Channels list.
    • The channels can be added, edited and removed.
    • Existing channels cannot be overridden.
    • Custom channel names will be stored in an INI file and will persist between sessions.
    • Custom channels will be marked with * on the lists.
  • Moved the global specular controls and the Background Override to a new Global Render Values rollout.
  • Added new Shading Presets>> and >Use Scattering buttons. Currently they do nothing, but will be needed in future builds.

Beta 7

  • Added a new KCM MacroScript which can be used to add Krakatoa Channel Modifiers to one or more selected PRT Loaders without navigating the Modifier Stack.
  • Updated the PRT, GEO and KCM MacroScript Icons to be more contrasty and better readable.
  • Moved MagmaFlows, BlackOps and History files to a new single location under
 C:\Documents and Settings\USERNAME\Local Settings\Application Data\Prime Focus\Krakatoa\
    • This means that Beta 7 and higher will use completely new settings unless you copy the older settings from the Plugcfg\Krakatoa folder of 3ds Max.
    • If you are running Krakatoa on multiple versions of 3ds Max including 9,2008,2009,2010 32 and 64 bit, all instances of Krakatoa will use the SAME history, MagmaFlows, BlackOps etc. Local settings like preferences, user defaults etc. will remain specific for each version of 3ds Max, for example custom UI colors can be set per version, allowing for light gray and dark Max UI schemes to coexist in two installations of 3ds Max and Krakatoa.

Beta 8

  • Added a window to notify the user when Krakatoa is detecting and loading Deadline.
  • Added color swatches next to the render mode, shading mode and scatter mode dropdown lists to give visual cues what mode will be rendered in. For example, white/white/white means Particle Volumetric rendering with Isotropic scattering, blue/white/green means Voxel Volumetric rendering with Schlick scattering etc.
  • Added a color border around the saving controls in the Main Controls rollout - red when saving particles, yellow when saving lighting only, none when rendering.
  • Moved Shading Defaults back to the Main Controls rollout.
    • When the Scatter mode is set to Phong, the Glossiness and Specular Level controls will appear in the new area.
    • When the Scatter mode is set to Schlick or H-G, the Phase Eccentricity controls will appear in the new area.
    • When the Scatter mode is set to Isotropic, no additional controls will be displayed.
  • Fixed significant bugs related to saving presets with certain rollouts hidden. Now these rollouts will flash shortly before the Save dialog appears to ensure all controls are initialized correctly. Same applies to launching Krakatoa GUI with the Main Controls rollout hidden. It will flash before the floater opens.
  • Reenabled the VFB Extensions in Max 2009 and 2010.
    • The layout has been changed to include the new controls including the new Voxel and shading controls, global overrides and Iterative mode Output Scaling.
  • Added new overview buttons for Shader Channel Overrides, Matte Objects, APME and Attenuation Saving to the Main Controls.
    • Right-clicking these buttons will navigate to the corresponding rollout for detailed settings.
    • All other rollouts now have a button "Back to Main Controls" which closes the current rollout and focuses on the Main Controls. This way, one can right-click >Use Matte Objects, change settings in the Matte Objects rollout and quickly jump back to the main area without any scrolling!

Beta 9

  • Added controls to change Hue, Saturation and Value of Arrow Icons in the UI to the Preferences Rollout.
    • The changes can be made in Relative or Absolute mode. In Relative Mode, the values of the original light-blue icons will be shifted. In Absolute Mode, they will be replaced.
    • Added the ability to save Presets for the icons. Several presets are built-in and new named ones can be added, modified and deleted using the [>>] button. The Presets are written to the Local Settings and will be shared with other copies of 3ds Max, while the current settings will be local to the version.
  • Removed the Shading Method dropdown list and replaced with >Force Additive Mode to turn on Additive rendering.

Beta 10

  • Added new buttons to the top of the Main Controls rollout for direct navigation to History, Channels, Particles, Loaders, Preferences rollouts.
  • Added a confirmation dialog when saving particles to disk showing the output path and the channels set for saving. This is to avoid saving wrong data if the user forgot to check the Channels rollout.
  • Updated Particle Loaders rollout to reflect new features of PRT Loaders.
  • Updated the Krakatoa Toolbar icons to reflect the new functionality.
  • LCache button will be disabled in Voxel Mode and when Ignore Scene Lights is checked. Voxel mode does not allocate the Lighting channel.
  • Fixed some Checkbuttons in Main Controls rollout whose colors were not customizable.
  • Changed the lables of [D],[F] and [S] buttons to contain Sel.[D] etc. to avoid confusion. Most users were pressing them to Dock or Float instead of selecting the rollouts in the Rollout Management area.
  • (RC3) Fixed serious crashes when certain rollouts (esp. Preferences) were hidden.

Known Issues and Limitations as of Build 37179

The following are limitations of the current build. Most of these problems should be resolved in future builds.

Voxel Rendering

  • Voxel rendering does not support Omni Lights. Only Spot and Direct lights are currently supported. A warning will appear if an Omni light is found in the scene.
  • Spherical Lenses are not supported in Voxel mode and never will be.
  • Clipping Planes are not supported in Voxel mode yet.
  • Shadow Density parameter of Lights is not supported in Voxel mode yet.

Particle Rendering

  • While Voxel rendering DOES support the Motion Blur Bias for both Matte Objects and particles, Particle Rendering supports it only for Matte Objects but not for particles. Particle Rendering Bias should be added in future versions.

Krakatoa Skin Wrap

  • Krakatoa Skin Wrap updates slowly in the viewports when deforming PRT Loaders. This is caused by the Scripted GUI of the PRT Loader sending generic notifications up the stack at ANY change without specifying the type of notification. This causes the Krakatoa Skin Wrap (or any other deformer) to update about a dozen times for a single parameter change or even when the PRT Loader is selected in StackView. We have devised plans to work around this, but for now avoid deforming particles interactively.
    • To get faster previews of particle deformations, switch the Krakatoa Skin Wrap to Count:1 instead of Radius:1.5. This will perform rigid deformations by the closest face only.
  • Volume Select modifier selections are not respected by the Krakatoa Skin Wrap yet.