Krakatoa 1.5.1.38002 as of 2009/09/30
For a more verbose discussion of the new features, please see What's New in Krakatoa v1.5.1
MAJOR BUG FIXES
- (2009/08/25): Fixed crash in Max 9/2010 (except for 2008 which was working in-house) when selecting multiple Culling objects.
- (2009/08/25): Fixed crash in Max 9/2010 (except for 2008 which was working in-house) when moving one of the multiple Culling objects.
- (2009/08/25): Fixed support for Depth Map Sequences as Mattes in Voxel Mode.
- (2009/08/25): Fixed crash in Load Single Frame Only mode when Krakatoa is not the renderer.
- (2009/08/26): Fixed severe slowdown with animated Noise map caused by threading issues.
- (2009/09/02): Fixed voxel rendering error when voxels were behind the camera but in front of a light.
- (2009/09/08): Fixed PRT Loader Viewport Percentage update when used in a Krakatoa PRT Loader Birth or Update operator.
- (2009/09/08): Fixed Krakatoa PRT Loader Birth/Update on frame 0.
- (2009/09/08): Fixed Krakatoa PRT Loader Update operator Channels List resetting on file load.
- (2009/09/09): Fixed the clearing of the Save Path when set to empty string. It was not possible in previous versions.
- (2009/09/09): Fixed the updating of the Main Controls rollout after picking a Save Path from History. Render Mode would be switched to Save Particles To File Sequence but the Main Controls rollout was not updated. Now it is.
- (2009/09/09): Fixed the Save Preset feature at Rollout Level which was not initializing all hidden rollouts before being called.
- (2009/09/10): Fixed the display of Partitioning flags - TP and Legacy particles showed incorrectly the PFlow Others' value in the Log.
- (2009/09/14): Fixed the loading of Age and LifeSpan channels back into Particle Flow using the Krakatoa PRT Loader Update operator.
- (2009/09/14): Fixed the crash caused by using a Krakatoa PRT Loader Update without a Krakatoa PRT Loader Birth.
- (2009/09/15): Krakatoa was causing 3ds Max to leave its process hanging on closing the application in recent builds. This has been fixed.
- (2009/09/16): Krakatoa PFlow Operators did not expose all default interfaces and properties - for example the .isFertile() method was not available.
- (2009/09/16): The order of deformation modifier evaluation was inverted. This has been corrected.
- (2009/09/18): Fixed position updates when rendering with Krakatoa PRT Loader Update operator in PFlow - current time was not being set correctly.
LICENSE SERVER SETTINGS
- (2009/09/17): Added a Configure License Servers button and dialog to Preferences rollout to specify the FlexLM servers providing Prime Focus Software floating licenses (including Krakatoa and Deadline). It reads and writes the registry key pointing at the license server.
PRT LOADER
- (2009/09/17): Changed Krakatoa to allow overwriting of sequences that are listed in a PRT Loader but are set to Disabled in Renderer via the per-sequence flags.
- (2009/09/17): Replaced the >> buttons with arrow icons. Fixed right clicking which was not implemented correctly - now both left and right click open the menus.
- (2009/09/17): Added the ability to paste particle file paths from the Windows Clipboard into a PRT Loader.
- Paths copied using the >> menu of a PRT Loader can be pasted into other PRT Loaders.
- Paths copied from other sources like spreadsheets, text files etc. can be pasted.
- Only paths that are not on the list yet will be pasted.
- Only paths with a valid extension will be pasted.
- The files do not have to exist on disk already to be pasted.
- If the clipboard text does not contain any paths matching the above rules, the option to paste will not be displayed.
- The preferences for setting the V and R flags will be respected when pasting.
PRT VOLUME
- (2009/09/03): Implemented Seeding options "Regular Grid" (old method) and "Random In Cube" (creates a user-defined number of random particles inside each voxel - great for particle rendering).
- (2009/09/03): Added "Subdivisions" spinner to "Regular Grid" method to create a denser regular grid out of lower-resolution level sets.
- In a benchmark creating 5.7MP from a large but simple mesh, Spacing of 20 with Subdivisions of 1 needed 13.671 seconds longer than Spacing of 80 with Subdivisions of 4, while the rendered image was virtually identical.
- Total render times were 59.0 vs 45.328 seconds, including 17 seconds of getting the particles and 23 seconds of rendering.
- The pure PRT Volume generation time was 18.061 seconds vs. 4.781 seconds (a speed up factor of 3.77766)
- (2009/09/09): Changed the PRT Volume Macro to set the viewport Spacing to 1/50 of the largest world space Bounding Box dimension of the source object. Thus, a Sphere will always create the same number of particles regardless of its radius.
PARTITIONING IMPROVEMENTS
- (2009/09/11): Replaced the local partitioning code with a new, TP-frienly one which calls the renderer just once for the whole partition instead of once per frame (except for Pickup frames which are still processed in a loop on Deadline).
- This makes it faster and more stable, while still supporting all the previous features.
- TP partitioning won't result in exponentially growing render times anymore.
- A simple one partition test with 200K particles emitted over 100 frames (default PFlow) produced the following results:
- Old partitioning code: 65 seconds
- New partitioning code: 48 seconds - a speed up of 1.35417 due to the reduced initialization and memory management overhead.
- A simple one partition test with 200K particles emitted over 100 frames with LifeSpan of 30 (default TP PositionBorn) produced these times:
- Old partitioning code: 5:50 (350 seconds)
- New partitioning code: 1:17 (77 seconds) - a speed up factor of 4.54545 because TP did not have to start updating from the beginning for each frame.
- (2009/09/11): Reworked the Partitions On Deadline script code to use a single call to the renderer like the local one, except for pickup frames.
- (2009/09/16): The >Skip Existing Frames option is now a core feature that affects regular sequence saving in workstation and slave mode as well as local and Deadline partitioning.
- When checked, existing particle files will not be overwritten but skipped over, producing only the missing frames of a sequence.
MAGMAFLOW
- (2009/08/17): Fixed Custom Channel Arity not being loaded correctly from Custom Channel definitions.
- (2009/08/17): Added Input Exposure support for Black Op controls.
- (2009/08/17): Fixed the ToSpace and FromSpace node to show <No Node> when no node has been picked.
- (2009/08/18): Fixed the event handler of the Clamp entry in the Operators RCMenu which was missing.
- (2009/08/18): Implemented the Curve Operator UI including presets, curve flipping and tangent controls. Shortcut is [`].
- (2009/08/19): Fixed ERROR display from nested Black Ops. Selecting an error message from the list jumps to the level of the error.
- (2009/08/19): Fixed processing of empty Black Ops (Connector wired to Output Connector without any other nodes).
- (2009/08/20): Fixed auto-connecting of ToVector when one Float Value Input is selected. If one Float is selected when ToVector is added or a Float is added with ToVector selected, all 3 sockets will be connected automatically with individual Undo records for each connection.
- (2009/08/20): Added the ability to disconnect two selected nodes by pressing Ctrl+Spacebar. Ctrl+Shift+Spacebar disconnects backwards.
- (2009/08/21): Implemented the Curve Operator node at compiler level.
- It maps input values in the range from 0 to 1 to user values via the Curve.
- When the input is a Vector, each component will be modified by the same curve and the output will be a Vector.
- (2009/08/25): Added SHIFT+F as shortcut for ToFloat (since it is used a lot when loading Integer channels like Age and LifeSpan).
- (2009/09/03): Fixed auto-connecting of ToVector when one Float Channel Input is selected - like with the Float Value, the Input will be connected to all three sockets, with individual Undo records for each connection. This will speed up the creation of Density->ToVector->Color type of flows for example.
- (2009/09/05): Fixed copying of KCMs with Exposed Inputs. Previously, the Custom Attribute had the ID of the Modifier in its name, resulting in two CAs on the copy. Now the name of the CA is the same for all modifiers, making it possible to update.
- (2009/09/09): Changed the handling of the Shift key when creating a ToFloat using Shift+F - if the input is an Integer Channel or Value, the ToFloat will be inserted in the flow disregarding the Shift key which normally means "create new branch/don't insert". Pressing Shift+F with an Operator or any other non-Integer input selected will create a branch.
- (2009/09/14): Fixed a slowdown caused by the Undo Record creation changing the current Preset to "Custom" in the KCM Modifier. If a complex PFlow with a PRT Loader Update was dependent on the PRT Loader with the KCM, the PFlow would update on each node selection/deselection or any other change that creates an Undo record.
- (2009/09/23): Added multiple sorting options to the Channel Input and Output nodes.
- The options are persistent between sessions using a local INI file.
- The options are stored independently for Input and Output Channels.
- They provide the old factory default order, sorting by usage frequency (often used channels move to top of the list), alphabetical sorting and various sorting modes by data type and arity.
STANDARD BLACKOPS LIBRARY
- (2009/09/18): The Installation of Krakatoa now creates a \Standard sub-folder in the BlackOps folder of MagmaFlow and copies some typical BlackOp definitions. (Currently only two, more to come).
- The GizmoGrad BlackOp provides two inputs - a center and a radius, and calculates a gradient between 1.0 (center) and 0.0 (at distance greater or equal to the radius).
- The GizmoBlend BlackOp uses similar code, but also provides two value inputs to be blended based on the center and radius values.
- In both cases, you can connect the Position and Radius tracks of a Sphere Atmospheric Helper to provide the data visually in the viewport.
PARTICLE SELECTION CHANNEL
- (2009/08/17): The Krakatoa Skin Wrap now supports the Selection/Soft-Selection Weights channel.
- (2009/08/20): PRT Volume now acquires the vertex selection of the source mesh and propagates it into the particles Selection channel.
- (2009/08/20): KCMs now support the Selection channel and can be used to get, modify and set it, thus affecting following deformation modifiers.
- The value range is not clamped, so negative selections, soft-selection values and values above 1.0 are all supported.
- (2009/09/21): A Krakatoa Delete modifier can be added to a PRT Loader or PRT Volume to delete particles based on selection channel values.
- (2009/09/23): The Krakatoa Delete Modifier now supports two modes:
- Deleting Particles with Selection > 0 and
- Deleting Particles using Soft-Selection where a value of 0 and less means "do not delete", a value of 1 and higher means "delete" and any value between 0 and 1 defines a probability for deleting the particles based on its ID channel (or Index channel if ID is not found).
USER INTERFACE
- (2009/08/17): Added Selection channel entry (float16) to both Channels rollout of Krakatoa and Input/Output nodes in MagmaFlow.
- (2009/08/14): Added Save Particles... and Explore Save Particles Path... options to the Render Button Right Click menu when in Save Particles mode. These duplicate the features already available in the Save Particles rollout.
- (2009/08/14): Added Custom Channel Name filtering to the Channels rollout. All characters except for alphanumeric ones will be filtered out, including spaces and special characters.
- (2009/08/20): Switched all Help links to the new Prime Focus Software URL. Added Help button to the Manage GUI rollout. Added tooltips to all Help and Back To Main Controls buttons.
- (2009/08/20): Added a new Select Partitions To Load dialog providing the ability to select specific partitions, select ranges with every Nth option, filter by name and specify the Enabled In View and Render state.
- (2009/08/26): First iteration of the Krakatoa Schematic Flow interface.
- (2009/09/01): Added ViewTM, ViewType and Camera entries to Render History records.
- Double-clicking the ViewTM entry will set the current view to the saved view.
- The ViewType is stored only as reference.
- Double-clicking the Camera (saved if view was a camera or light) will look for a camera or light with that name and set the current view to it if found.
- (2009/09/05): Added History icons/menu items to Background Color, Color, Emission, Absorption and Density overrides to set color values based on History records.
- (2009/09/05): Replaced [H], [E], [...], [+] and [X] buttons throughout the UI with icons for History, Explorer, Pick File, Add and Remove operations.
- (2009/09/09): Improved performance of History buttons everywhere in the UI by caching their data just once and managing caches as History is saved. This results in instantaneous opening of all History dialogs.
- (2009/09/10): Changed the default of Age and LifeSpan channels to int32[1] since int[16] was not enough to hold large tick values.
- (2009/09/14): Fixed some issues with the VFB Extensions when the Krakatoa GUI was not opened/initialized. Now the Krakatoa GUI will open automatically to ensure it is initialized whenever a function depends on it being there.
- (2009/09/14): Changed the Save History checkbox to be saveable in the renderer. This means that it will finally be sticky between sessions.
- (2009/09/15): Krakatoa MacroScript icons will be grayed out if Krakatoa was removed or did not start correctly.