Krakatoa Pre-1.0.0 Change Logs
The following page contains all change log notes from
Beta 0.9.6 on January 4th 2007 to Beta 0.9.19 on July 27th 2007.
Notes from earlier Beta builds have not been preserved.
Beta 0.9.19 Change Log
Changes from Beta Build 0.9.18 to 0.9.19 (as of July 27th, 2007)
GENERAL
- Added render preset support to the Krakatoa On and Off Macros - when switching to Krakatoa, a preset with the current renderer was saved to be able to revert back to it. Now, the "Switch Back From Krakatoa" will also save a preset with the current Krakatoa settings, thus allowing you to revert back to Krakatoa from your other renderer when clicking the Krakatoa GUI icon - you will be prompted whether you want to load the last preset or start a clean Krakatoa session.
PRESETS AND HISTORY
- Added pattern search fields to both drop-down lists to allow for fast filtering of saved presets and history files.
MAIN CONTROLS
- Added "Save Attenuation Maps" option to the RENDER BUTTON right-click menu - this doubles for the option in the "Shadows On Geometry" rollout and should save you time when switching shadows generation.
PARTICLE SAVING
- The [Get Channels] button was causing a full evaluation of the PFlows to get all channels which in turn caused crashes in heavy scenes. Until this is resolved cleanly by adding a better and faster scan for channels, the left list in the "Particle Channels To Save" rollout will be hard-coded to the channels needed by Krakatoa and some more typical channels like Age, Orientation etc. A checkbutton can be used to show the 99 map channels above 1, by default they are hidden.
- Fixed a bug in the Take incrementing code which was adding too many zeroes when incrementing something like tk5 by 100.
PARTICLE PARTITIONING
- Added support for renaming the Orbaz Box#3 Disk Cache file per partition, allowing backup caching during partitioning both locally and on Deadline. If a partitioning job has crashed and has to start from the middle, it will use the cache to pre-roll faster to the first unsaved frame. Adding NOSEED to the name of the disk cache will disable this behavior.
- Added support for a user-defined global function Krakatoa_SeedIncrement_UserFunction() and a global variable Krakatoa_SeedIncrement_LastValue. The function can be defined by other scripts and will be called each time the seed increment function is called, thus allowing 3rd party tools to alter other aspects of the flow currently unsupported by Krakatoa. The function will be sent one parameter which will be the seed increment value. The global variable will also be set to the last increment value in case 3rd party scripts want to query the value without using the callback function method.
For example: fn Krakatoa_SeedIncrement_UserFunction theVal = format "Seed Increment: %\n" theVal --this will print the seed increment and decrement value to the Listener --each time a partitioning is created
PREFERENCES
- Added "Acquire License..." and "Release License (Evaluation Mode)" buttons to the Preferences rollout. The license status will be shown in the title bar and in the About rollout. When a license is released (for example if you want to allow another colleague to get a floating license), the Watermarking will be enabled when rendering.
- Removed the "Keep Last Cache In Memory" option as it is already available in the Cache's Right-click menu.
RENDERING
- Added support for Non-Square Pixels - both cameras and lights support pixel aspect ratios different than 1.0.
- Added a new PFlow Operator (Krakatoa Options) which allows Script Vector and Float channels to be copied to the Color and Density channels when saving and rendering directly without using a Vertex Color Map to shade.
- Changed the way color sources are handled by Krakatoa to allow vertex colors to be shaded directly without a Vertex Color Map (which would still work but would be slower):
- If there is a Material, its color will be used
- If there is no material but there are vertex colors, they will be used
- If there are no vertex colors, the wireframe color will be used
KRAKATOA PFLOW OPERATORS
- Krakatoa File Position and Krakatoa File Birth now work correctly on Deadline.
- Both operators do NOT require a license anymore. They can now be used by anyone with the evaluation version of Krakatoa to load PRT, BIN and CSV files into PFlow. We feel they are not up to our standard yet and we consider them BONUS tools.
BUG FIXES
- Fixed bug in raytracing code which was causing particles to leak.
- Fixed bug in Legacy Max Particles shading - assigning a material would render with density of 0 in Beta 18, making particles invisible.
- Fixed Playback Graph position interpolation bug in PRT Loader - the velocities were scaled BEFORE calculating the new interpolated positions.
- Fixed a bug in Shadow Utility - assigning a non-krakatoa renderer twice would overwrite the last known Krakatoa settings. Now, the settings will be saved only if the current renderer is Krakatoa.
Beta 0.9.18 Change Log
Changes from Beta Build 0.9.17 to 0.9.18 (as of July 13th, 2007)
MAIN ROLLOUT
- Fixed the double extension problem when changing file name via the save file dialog with CSV and BIN files (this was fixed in a SP for 17 already)
- Added "Ignore Material" option to the drop-down list. When enabled, all objects will render with their main color (wireframe or vertex color) ignoring whatever materials are assigned to them. BONUS: If you write color data into the Vertex Color channel using Box#3 Data Operator, the vertex color will be rendered as the main color directly in this mode, resulting in almost two times faster coloring as compared to using a Vertex Color Map.
PARTITIONING
- Operators inside the Pflow Emitter were not affected by Seed changes. Fixed.
PRT LOADER
- Improved reference handling in the PRT Loader. Should fix some crashes related to referencing. Still crashes if you Create a PRT Loader and undo immediately. Still crashes if you add an Object Space Modifier in Max 8. Space Warps and WSMs work though.
- Improved Missing Frames display in the PRT Loader graph.
- The PRT Culling creates a new named selection set when picking an object. This is now handled correctly for undo.
- Changed the mechanism for updating the error indicator in the PRT Loader to avoid circular dependencies between scripted plugin and C++ plugin
- Added undo handling for all file operations in the PRT Loader and its Editor so adding, removing,reordering, sorting, cutting and pasting and so on can be undone and redone correctly. In Beta 17, undoing in Max 8 would crash, in Max 9 would have done nothing.
- Fixed the particle count display in the viewports which was missing in Beta 17
SHADOWS UTILITY
- Added a prefix field to the utility. It will contain the first part of the output filename before the first underscore. This is to distinguish between shadow maps stored for the same light in the same folder but from different runs with different output filenames.
- Adding place holders for missing frames in the IFL file. If you rendered frames 3, 15 and 21 only, the IFL file will start on frame 3, then hold frame 3 until frame 14, include 15, then fill in the gap from 16 to 20 with frame 15 and end with 21.
- Added support for shadows from Omni Lights
- Fixed a crash when no output was there and the utility was opened.
THINKING PARTICLES
- Fixed Velocity channel scaling for Motion Blur. Motion Blur now works.
- Temporarily removed the TP groups until support is hooked up.
RENDERING
- Max MultiPass Depth Of Field effect is now supported as alternative. Much slower as it has to render the scene N times, but could be used to match other elements rendered with the same effect.
- When running without a license or with Watermark option checked in preferences, the Watermark text will adapt its color to the background of the image to remain visible regardless of the brightness of the image. Used to be white.
Beta 0.9.17 Change Log
Changes from Beta Build 0.9.16 to 0.9.17 (as of June 20th, 2007)
GENERAL
- The color source handling has been revamped to take advantage of particle channels. Color source controls are vastly simplified now.
- By default, each particle system will render using its material color, if no material is available, using its wireframe color. This is in line with the way Max works. PRT Loaders will render using the saved, wireframe or material colors as before
- New >Override Particle Colors option added to the Main Controls rollout which can be enabled to override the above color sources.
- Custom Particle Color is now an override option and will apply to ALL particles, including those from PRT Loaders.
- Most other modes have been removed and implemented elsewhere.
- New "Material Editor Slot #1" option replaces the old Material and Custom Material options. This allows a single material placed in the Slot 1 of the Editor to replace all colors in all particles in the scene.
- Removed Wireframe color option. Only objects with no material will render in Wireframe color.
- Removed Script Vector Channel option. The channel is now automatically provided as UVW Map Channel 43 and can be rendered using a Vertex Color Map, thus can be used in both Color and Opacity slots.
- The source color from materials is now the DIFFUSE, not the Self-Illum. Materials without self-illumination will render correctly now.
PRESETS AND HISTORY
- Fixed the bug causing the Cache rebuilding to pop up too often. In typical operation, rebuilding the cache should almost never be necessary anymore.
MAIN CONTROLS ROLLOUT
- Redesigned the rollout, it is now shorter and has less controls reflecting the simplified color workflow.
- Inverted the meaning of the Lighting Pass Densities option to be unchecked by default while doing the same.
PARTICLE CHANNELS TO SAVE ROLLOUT
- Added new Rollout to control which channels will be saved to disk in a similar style as NSS in Matte/APME rollouts.
- Added options to specify the data format (16, 32, 64 bit) for all channels.
- Added button to update channels from scene.
- Added controls to select all and invert the selection. Both lists are multilistboxes.
- Both lists will be cached and stored in the renderer with the scene, so refreshing will only be necessary when new channels have been introduced.
- Removing channels from the scene will NOT remove them from the list of available channels until a new manual refresh is performed.
- Active channels will NEVER be removed automatically, even if not available in the scene anymore. (will be saved with default values)
PARTITIONING
- Fixed a bug in the second Deadline submission mode (1 job per partition) - seeds were decremented incorrectly when submitting a range.
THINKING PARTICLES AND PARTITIONING
- Added TP Random Seed support to the Partition controls. All operators with a random seed can be affected. NOSEED is detected in DynamicSet Comments field and TP name.
- While adding Seed support to TP, also added an option to affect legacy particles seeds or not.
- Added a Thinking Particles Groups rollout prototype for selecting TP groups to render. Not hooked up with the renderer yet.
MATTE OBJECTS
- Removed options to save and load geometry as matte. (This was originally used to export to the Stand-Alone version of Krakatoa).
- Changed the behavior of the Named Selection Set lists in Max 9+ where editing or deleting a named selection set would remove it automatically from the active list in Krakatoa. If edited or deleted, the NSS will remain on the active list - if the NSS is created again, it will still be used by Krakatoa. If the NSS is moved to the left and it turns out that it has been deleted from the scene, it will disappear.
PRT LOADERS
- Replaced the Density source drop-down list with a simple checkbox "Load Particle Densities".
- Removed the "Load Normals" option.
- Fixed a bug preventing PRT Loaders from creating selection sets in Max 8.
- Added Gizmo Size controls (all animatable) to control the size of Object Space Modifiers. Initial size is based on the icon, but can be changed/keyframed subsequently.
- Playback Graph is now a float value and PRT Loaders will interpolate particle positions and velocities based on the closest full frame sample, allowing for smooth speed changes and correct motion blur.
- Fixed bug in Graph display that would hang if a frame had 0 particles as max. value.
- Added gradient displays for missing frames and CSV frames (count unknown). Showing count as ??? when CSV loaded.
- When exactly one file is selected in the listbox, the Add Files... will open the dialog at that path. If the editor is open and exactly one file is selected there, its path will be used. If 0 or more than 1 are selected, the defaults will be used as set in Preferences.
PARTICLE SCANNER UTILITY
- Switched to an internal Krakatoa method for checking particle counts which supports both PRT and BIN files. CSV will return no count as it is difficult to get without reading the whole file. CSV particle sequences will show up in a gradient like missing frames, but in the normal color like good frames.
- Added the option to save and open a text file containing the paths of all missing frames collected by the Scanner. It could be used to determine which frames need to be created again.
SHADOWS ON GEOMETRY UTILITY
- Added display of the current renderer so it is clear what renderer is active at the moment.
Beta 0.9.16 Change Log
Changes from Beta Build 0.9.15 to 0.9.16 (as of May 17th, 2007)INSTALLER
- Added code to the KrakatoaStartup.ms script used to load the scripted portions of Krakatoa to copy the latest icon files to the 3ds Max \Icons folder. This works in Max 9 since icons can now be reinitialized. In Max 8, a second restart will be required to make sure all icons are initialized.
- Added Progress Report prints to the Krakatoa Log reflecting the loading of Krakatoa script files. This output can be used to debug the loading process should some script files not load as expected.
PRESETS AND HISTORY
- Added a progress display dialog during History Cache rebuilds. This can take several seconds in certain cases and it is better to see what is going on than waiting without feedback...
MAIN CONTROLS ROLLOUT
- Added code to change the height of the Main Controls rollout when the Advanced File Controls are toggled on and off. This gets rid of the huge empty space at the bottom of the rollout when using simple file controls.
PRT LOADERS
- Added Particle Loader Deformations support using the following Space Warps, World Space and Object Space Modifiers:
- All Modifier-Based Space Warps: Bend, Noise, Skew, Taper, Twist, Stretch
- Most Geometric/Deformable Space Warps: FFD(Box), FFD(Cyl), Wave, Ripple, Displace, Conform
- Some World Space Modifiers: Path Deform, Patch Deform, Surface Deform
- Some Deformation Object Space Modifiers: Bend, Displace, Melt, Noise, Patch Deform, Ripple, Skew, Squeeze, Stretch, SurfDeform, Twist, Wave, XForm
- Instancing and Referencing PRT Loaders (and their Modifiers) now supported and working like with any other 3ds Max object.
- Particle Culling controls are not grayed out anymore - in the past, deleting the culling node would remove it from the list of Named Selection Sets but the On checkbox would remain checked and grayed out so it was not possible to disable. The viewport cache will still draw the culled particles in the scene until you either select None from the list or uncheck the On checkbox.
- Fixed the Graph code in the PRT Loader to skip BIN and CSV files when checking particle counts. Missing files will still be drawn as a red line regardless of file format, but the actual count will be assumed 0 when a BIN or CSV file is loaded. This will be finally fixed in a later build by implementing internal Krakatoa interface methods to deal with particle count checks.
PARTICLE CACHE
- Added a new Keep Last Frame In Cache mode - in the majority of cases, the user starts rendering and then realizes that the cache should have been turned on. Using this new default mode, the cache can be enabled AFTER a frame was rendered.
- When on (default), rendering with cache off will keep the last rendered frame in memory. Enabling the Cache after that would preserve the already loaded particles in memory and thus allow immediate re-rendering without re-caching. To force a Cache reload, you can check, uncheck and check again the Cache or disable the feature completely.
- When this option is off, the memory will be cleared after the last rendered frame, so enabling the Cache would require reloading all data (this is the old behavior)
- The option can be accessed via the Right-Click menu of the Cache buttons or in the Preferences Rollout>System group of controls.
- The option is saved in the renderer but is not sticky between sessions - assigning a new instance of the Krakatoa renderer will set it back to ON unless saved as OFF with the Custom Defaults.
BUG FIXES
- Fixed Installer bug for Max 8 - plugin was in the wrong sub-directory and could not load scripts correctly.
- Fixed PRT Loader Animation Parameters which were broken in beta 15.
- Fixed PRT Loader Cloning which was broken in beta 15.
- Fixed frame sequence rendering holding last frame bug - canceling rendering would cause the next render to use the last rendered frame because the cache was not reset on cancel.
KNOWN BUGS AND LIMITATIONS
- Thinking Particles still crash the renderer (at least in 3ds Max 8). We do not have a license for TP in 9 and cannot test, but we assume it behaves the same. Try not to use TP with Krakatoa until we figure out what is going on.
Beta 0.9.15 Change Log
Changes from Beta Build 0.9.13 to 0.9.15 (as of May 3rd, 2007)
GENERAL
- Added MacroScript to toggle MaterialEditor's renderer lock on and off from the Krakatoa toolbar.
- Added an option to the Right-Click menu of the QUICK RENDER button to select the file to save. A checkmark will be displayed in front of the option of a valid path is set. Also made the Save File option disabled when no file name there.
- Added the actual value to the Add and Remove items of the >> menus for the MBlur and DOF presets so it is clear what will be added or removed.
- The About rollout's logo and hyperlinks will adapt to the background color of the UI so they remain visible when using Dark scheme etc. They will not take into account "Use Windows Colors" mode, but nobody is really using that.
PARTICLE SAVING
- Added support for .CSV files as particle output alternative.
- Added support for RealFlow 4 BIN files as particle output alternative.
- Added a Preference to check the validity of the BIN file name as RealFlow expects FIVE trailing digits or it would not load the file (same applies to any RealFlow importers for 3D applications). The Preference has a Warning, Auto-Fix and Do Nothing mode.
- Changed Increment Seeds code to affect Other operators that have Random_Seed property, changed hasProperty to isProperty to catch FumeFX Operators. Added separate checkboxes for incrementing Rotation, FumeFX and Other seeds.
- Added a a feature to skip operators, events or object that contain NOSEED in their name when incrementing seeds, thus allowing for maximum flexibility.
- Replaced Current Partition spinner with Partition Range spinners so it is possible to submit/save locally a range of partitions instead of all or just one. For one, enter the same number in both fields.
- Added an option to skip existing PRT files when saving locally. This is currently NOT available when saving on Deadline (but it would be possible)
- Changed the progress line when saving Partitions to display in HH:MM:SS format instead of just seconds as some sequences might require hours to save and hours expressed as seconds are difficult to read.
- Changed Partitioning on Deadline to use the Render Output Dialog frame settings (Single, Scene and Custom Ranges with optional Nth frame, Custom Frames) - used to save the current animation segment.
RENDERING
- Added an option to calculate Lighting without rendering a Final Pass. This is to allow attenuation maps can be re-generated on disk faster without waiting for the actual frames to render.
- Final Pass Sorting has been changed to use Pre-ordered Indexed Sorting using the sorting method of choice. This should combine the good sides of both the old Final Pass sorting method and of the new sorting algorithms (Radix).
- Added Krakatoa Watermark for evaluation mode. Can be forced for debugging reasons via the Preference rollout (3935)
- Changed both Specular Level and Glossiness value spinners to floats and uncapped them to allow for stronger and smaller specular highlights in >Use Normals mode. Also changes the highlight widget to use the checkbutton activation color from the current palette.
- Matte objects will now be correctly excluded from shadow casting if they are hidden in any way or the renderable property is unchecked.
PRT LOADER
- Added an Edit... button to the PRT Loader GUI which opens a floating dialog with lots of options to manage file sequence lists:
- Select All - selects all sequences in the list view
- Invert Selection - inverts the current selection in the list view
- Reorder Selected (Move Up, Down, To Top, To Bottom) - useful when showing First N particles as moving a sequence to the beginning of the list will make the PRT Loader start with it.
- Sort List Alphabetically - sorts the sequences on the list in alphabetical order.
- Save All to File - saves all sequences to disk as a preset
- Save Selected to File - saves the selected sequences to disk as a preset
- Load From File - loads a pre-saved sequence list from disk.
- Cut - cut the selected sequences to be pasted later into the same or a different PRT Loader
- Copy - copy the selected sequences to be pasted later into the same or a different PRT Loader
- Paste - works even between Max sessions!
- Remove Selected - same as the Remove... option in the PRT Loader's GUI
- Remove All - removes all files without the need to select them all
- Add Files - same as the Add Files... in the PRT Loader's GUI
- Repath Selected Files - this option can scan recursively all sub-folders until it finds the same file name at a new path.
- Replaced the Culling Node option with Culling Named Selection Set. This way, the PRT Loader can use an arbitrary number of geometry objects. A pickbutton lets the user pick a geometry object and create a NSS automatically.
- Implemented particle culling preview in the Viewports. Other than when rendering, the particles are culled post-load and pre-display.
- Added a Bounding Box checkbox to toggle the bbox display in the viewports.
- Added support for .CSV files as particle data input alternative. CSV files can be created from Krakatoa or ANY other application that can write comma-separated values to a text file (this includes Excel and any 3D application with a scripting interface).
- When the CSV contains NO headers and 3 float values per line, these are loaded as position.
- When the CSV contains NO headers and 6 float values per line, these are loaded as position and color.
- When the CSV has to contain more information, Headers have to be defined in the first line, for example
float32 Position[0], float32 Position[1], float32 Position[2], float16 Velocity[0], float16 Velocity[1], float16 Velocity[2], float16 Density, float16 Color[0], float16 Color[1], float16 Color[2], float16 Normal[0], float16 Normal[1], float16 Normal[2] 9.72161, -63.355, 262.092, 23.2188, -68.25, 291.25, 1, 1, 1, 1, -0.3479, -0.716797, 0.604492
- Added PRT Loader Presets saving and loading, including all source, percentage, timing and options settings.
- Added a Presets Saving dialog which lets you specify which properties to save to Preset file.
- Added PRT Loader Preset Preference option to the Preferences rollout, allowing to specify the Preset to be applied when a PRT Loader is created in the scene. Same option is available in the PRT Loader's Preset rollout.
- Added a Last Error Message display which can be triggered by clicking the status indicator (red/yellow/green lamp) in the Particle Count rollout or by pressing the Update Info button. The message will display info about the missing frame causing the red/yellow flag.
PME ROLLOUT
- PME Named Selection Sets lists in the UI now handled via Callbacks.
PRT ANALYZER UTILITY
- Added support for bad PRT files detection. Will be shown in darker color than the missing color.
- Added support for Missing Files and Bad Files list output. Creates Text files containing the file names of all bad and missing frames.
- Added an internal check to skip CSV files and scan only PRT files (to be supported later).
BUG FIXES
- Fixed bug when checking RealFlow BIN files - they were incorrectly handled as PRT files.
- Fixed memory leak caused by the History Thumbnail saving - the size of the VFB was leaked each time the render button was pressed.
- Fixed a memory leak in PCache. Also, releasing the PCache now releases the memory immediately.
- Fixed black background bug when no particles in the frame. Now returns the image with the correct background color.
- Correct Average collection in PRT Scanner (was exceeding max. integer limit when collecting trillions of particles)
- Submit Partition To Deadline code was broken, fixed in an SP and in this build.
Beta 0.9.13 Change Log
Changes from Beta Build 0.9.12 to 0.9.13 (as of March 26th, 2007)
NEW SORTING ROUTINES
- Three sorting methods are now available next to the Render Button.
- Standard - uses the standard single-threaded sorting function of C++. For reference only.
- Radix - uses more memory, but is the fastest method of all.
- FF Threaded - splits the sorting to N threads based on CPU count. Currently, only 1 and 2 CPUs are supported. With 1 CPU it behaves like Standard Sort. With 2 CPUs it sorts almost twice as fast as Standard Sort. With 4 should be as fast as Radix Sort, but with less memory requirements.
- The FF Threaded sort was fixed to perform faster when particles are already sorted (bug in 0.9.12)
- The same routines are used for both the Light and Final Pass. Even more speedup expected in future build.
- Some temp. performance stats will be printed to the MAXScript Listener after each pass (to be moved to the Log window later)
PRT LOADER
- Reordered and compressed the GUI. Note that older PRT Loaders from saved scenes will drop some settings because of new Parameter Block organization. The Rollouts can now be reordered in a multi-column Command Panel for easier access.
- Added status lamp to Particle Count display to show when frames are missing:
- Green - all files are available on the current frame
- Yellow - one or more files are missing
- Red - all files are missing on the current frame
- Counts now update dynamically when dragging the time slider
- Added a particle count graph.
- Press Update Graph to generate.
- Check >Auto to automatically redraw when changing Timing settings (WARNING! COULD BE SLOW)
- The current frame will be shown on top of the graph as a dotted black line
- The graph will show good frames in green, frames with missing files in yellow and frames with all files missing in red.
- Added Cull By Volume option to not load particles inside or outside an arbitrary mesh volume. Both the Toggle and the Invert checkboxes are animatable.
- Added Use Custom Range option which allows the user to define a validity interval and clamp any frames outside of it to the interval's limits. Missing frames inside the interval will still be reported and fail renders.
- Added an option to the Preferences Rollout to define the default location the PRT Loader will browse for PRT files. If you have a dedicated server for PRT file sequences, you can set the path in Preferences and also tell the PRT Loader to Open the File Dialog at the Default Path.
PRT LOADERS ROLLOUT
- Added three new options to the drop-down list:
- Particle Display Mode - lists the display mode of the PRT Loaders (small dots, large dots, lines)
- Missing Frames In Scene - lists the missing PRT frames in all sequences in all PRT Loaders based on the scene range.
- Missing Frames In Render - lists the missing PRT frames in all sequences in all PRT Loaders based on the render range.
- Both modes take into account Frame Offset, Load Single Frame Only and Playback Graph settings, thus reporting the exact frames that are going to be affect the PRT Loaders. Krakatoa now has strict file checking when loading PRT files and will fail to render if any of the files is missing. These modes are meant as a tool to detect such problems.
- Added drop-down list and Set Mode button to the Viewport Mass-Changing Utilities to switch the viewport display mode (dots/lines)
PARTICLE ANALYZER UTILITY
- External MacroScript which can draw graphs of particle counts per frame for all or only selected PRT Loaders, Geometry and PFlows.
- All colors and some other settings like scale, memory limit etc. are customizable.
- Optional export to HTML page.
MATTE OBJECTS
- Added better test for selection validity - PRT Loaders and PFlow Emitters now filtered out, added message boxes if the selection is not valid or the NSS name is empty.
PARTITIONING
- Added error traps and checks for 2.6 Deadline - if 2.6 or earlier is detected, the Tasks per Machine and Limit to CPU will be disabled
- Added garbage collection after each render() call in the Local Saving - this fixed a memory leak that crashed Max 8 for some users. The only memory climbing should be caused by the actual particle systems. Generated 6 partitions of 10M particles each - memory usage went up from 1.46GB to 2.00GB and then back to 1.46GB for each partition.
- Added the same fix to the Deadline Rendering code.
- Added better error report handling on failed submission.
- Removed the Manual Seed Increment / Remove Partition From Name buttons. Replaced with Generate Current Partition Locally to mirror the functionality of the Deadline submitter.
AMBIENT PARTICIPATING MEDIUM EXTINCTION
- Added new rollout with controls over PME for Red, Green and Blue channel
- Added a gradient display to show the effect on a given custom color at a given distance.
- Added Presets >> button with several ocean water presets from the Web and the ability to store, edit and remove custom named presets.
- Added a Target Color swatch which allows the user to enter a desired color and the Extinction values are calculated automagically.
- Added support for Mesh-Based Extinction using similar controls to the Matte Objects, except that the particles are not culled but affected by PME.
SOME KNOWN BUGS AND LIMITATIONS
- When adding/removing files in the PRT Loader, the Graph will not update even if set to >Auto
- PME Named Selection Sets do not have callbacks for external changes to selection sets yet (Matte Objects do). So deleting a NSS via the MAX Gui does not update Krakatoa's display yet.
- All raytraced operations incl. Matte, Culling in PRT Loader and Volume-Based PME show some problems (leaking particles) which are to be fixed.
- The Culling Volume in PRT Loaders behaves incorrectly when moved with the transform gizmo in the viewport (possibly because of transform notifications between it and the Loader's node). Until fixed, consider animation the object first, then assigning it as the culling volume to the PRT loader. You can also use the X button to remove it, then pick again when done keyframing.
- Small Dots mode does not Z-Buffer correctly in DirectX and OpenGL. Consider using Large Dots when interaction with mesh objects is important, for example when placing culling volumes.
- The PRT Loader seems to not draw correctly in all 4 viewports when in Software Z-Buffer mode. It appears to redraw only the 4th viewport.
Beta 0.9.12 Change Log
Changes from Beta Build 0.9.10 to 0.9.12 (as of March 7th, 2007)
GENERAL
- Finished refactoring of the Particle Streams system to allow adding and removing custom channels.
- Added support for Custom and Factory Defaults.
- Custom Defaults can be created from the current GUI settings using a new button in the Preferences rollout.
- When a new instance of Krakatoa is created, these settings will be used to initialize all settings.
- Another button in Preferences removes the Custom Defaults and reverts to Factory Defaults by renaming the INI file with the Custom defaults from .INI to .BAK
- The custom defaults can be edited manually in the INI file if necessary
- Moved all INI files related to Krakatoa to the same Krakatoa sub-folder of the Max PlugCFG folder and consolidated the data a bit.
- The MAXScript render() method finally works as expected and can be used to render or save particles.
RENDERING AND SAVING
- Attempt to save to empty path now handled correctly with pop-up message.
- Added support for Near and Far Camera Clipping Planes
- No VFB when saving. VFB closes when saving, opens when rendering.
- Limited Motion Blur Segments to 2 - 1 and 0 make no sense. To turn off, uncheck >Use Motion Blur
- 3ds Max Multi-Pass Motion Blur is now supported. It will be much slower than the Krakatoa version as it has to load the particles N times - once for each pass, but if you want to match the Max look, you can now use it. Make sure Krakatoa's >Use Motion Blur option is turned off when using it to avoid double-blurring the particles.
- Added a progress display when using the H (History) buttons in the Advanced File Controls area. Using this feature requires sorting of all history files by creation date and extracting the necessary info, so with thousands of files it might take a couple of seconds.
- Motion Blur Pass Number will be displayed in the Render Progress text.
- Current Light being processed will be displayed in the Render Progress text.
CACHING
- Allowing the rendering of frame sequences with PCache and LCache turned on. Previously, rendering of multiple frames was disabled in cache mode.
- Changed the Cache Size report right-click menu to show Megabytes instead of bytes.
- Selecting the Cache Size item in the menu copies the value to the Log Window.
PRT LOADERS
- Added Particle Density Source drop-down list to use Saved Density, Material Opacity or Both
- Added Playback Graph option and spinner to control animation playback using keyframes.
- Added display of Particle Count (Disk, Render, View) in the GUI
- Added display of Particle Count in the Viewport next to the bounding box.
- Added Playback Graph option to manually control playback using a keyframed value track
- Frame Offset and Playback Graph now disabled when "Load Single Frame Only" is checked.
- Strict File Name check for PRT sequences - if a file in the sequence is missing, Krakatoa will throw an error and stop rendering. This is to ensure consistent rendering if a single file was not created or deleted.
- Added an option to specify the particle display type - Small Dots, Large Dots and Velocity.
- Small Dots is the mode used by PFlow and Krakatoa 0.9.10
- Large Dots is the mode used by Krakatoa 0.9.6
- Velocity is similar to Lines in PFlow (but orders of magnitudes faster). When there is no velocity, no particles will be drawn. PFlow switches automatically to small dots when the velocity becomes 0, but this is time expensive and thus not supported by the PRT Loader. If you want to see static particles, switch to Small Dots.
PARTITIONING
- Added "Increment Seeds of Selected Objects Only" option. It is supported in both Local and Deadline mode.
- Partitioning on Deadline now provides two modes
- One job with as many tasks as partitions, where each task renders a whole partition via MAXScript.
- Multiple jobs where each job renders a partition and each task represents a frame. (the old mode)
- Added "Concurrent Tasks" and "Limit Tasks to Number of CPUs" options. When rendering in One Job/Task Per Partition mode, this allows one machine to dequeue multiple tasks (as long as there is enough memory) and save partitions from multiple Max sessions employing all CPUs. These controls define how many tasks to dequeue. For example, if set to 4 and true, a machine with 4 CPUs would dequeue 4 partitions at once, a machine with 2 CPUs only 2.
- Changed the incrementing of Partitions so that the first partition does not increment at all and produces results identical to the base particle system. Partition two offsets the seed by 1 and so on. After each partition, the seeds will be decremented to ensure the system is back to its original state. This is especially important when calculating on Deadline since Deadline could continue with the next partition without reloading the file.
- Reworked the Local Partitioning mode to use similar code to the new Deadline mode.
- Two progress bars will show the frame within the partition and the partitions progress.
- Pressing Esc. will cancel the saving.
- A text line will report the partition, frame, elapsed time and the ETA and also mentions that pressing Esc. will cancel the saving.
- Deadline Jobs now have the correct Output Path for the PRT files included, so Ctrl+O opens the Windows Explorer at the correct path and the option to copy the output path is now available.
MATTE OBJECTS
- Added option to load a pre-rendered Depth Map sequence, allowing for example clipping against render-time displacement geometry from Gelato or VRay.
- Support for Camera Space Z Depth maps in OpenEXR format from Gelato - pixel values represent the Z depth in camera space using world units.
- Support for Normalized Camera Space maps from 3ds Max Render Elements - pixel values represent the normalized distance between a near and far clipping plane and require these Near and Far values to be entered. In this mode, white pixels are near, far pixels are far.
- Support for Inverted Normalized Camera Space - like above, but white values are at the Far plane, blacks at the Near plane.
- All 3 modes currently support OpenEXR files only (to ensure highest precision).
SHADOWS ON GEOMETRY
- Currently only Spot/Direct Lights are supported. Omni Lights do not produce correct attenuation maps yet.
- Attenuation Maps now correctly exclude matte objects between the light source and the particles.
- Krakatoa: Shadows Utility Script allows the adding and removing of attenuation maps to scene lights as projector maps:
- The user can specify the location of the attenuation maps (as saved during Krakatoa rendering)
- The attenuation map sequences will be matched to the names of the scene lights and assigned as an IFL to the projector map slot
- If an existing projector map (but not a Krakatoa Shadow from a previous application of the script) is found, the attenuation map will be multiplied with it.
- The tool allows the removal of the attenuation maps from all scene lights.
- The animation sequence will be taken into account, so if the first shadow frame is 0015, the bitmap will be offset to start on that frame. End behavior will be set to Hold.
- The tool can also be used to switch to a different renderer (either by class or by loading a render preset). A Krakatoa preset of the current settings will be stored automatically and can be restored any time.
Beta 0.9.10 Change Log
Changes from Beta Build 0.9.9 to 0.9.10 (as of February 23rd, 2007)
MANUAL CACHING
- Two new checkbuttons have been added next to the RENDER button:
- PCache - when checked, Krakatoa will cache all particles into memory the first time a frame is rendered. Consecutive renders of the frame will render the particles from the memory cache, thus speeding up test renderings significantly. While rendering from cache, changing particle systems will have no effect on the rendering unless the PCache button is unchecked to release memory and checked again to cache. When rendering from cache, you can change camera/view and shading parameters like Materials, Density etc. If LCache is not checked, you can also change the lighting.
- LCache - when checked, the lighting pass will also be cached, thus speeding up rendering even more. This option can only be checked together with the PCache option. Lighting Cache does not use more memory. If it is enabled, moving lights or even turning off [>Use Lighting] will have no effect on the rendering - the last cached lighting will be used until the cache is released.
Both caches are available only when rendering a single frame. Once a frame is cached, changing the scene time will NOT render a different frame unless the PCache is unchecked and checked again to release the memory and cache again.
BUG FIXES
- The Lighting pass calculation was broken in 0.9.9, shading might have been different than previous builds when using lighting.
Beta 0.9.9 Change Log
Changes from Beta Build 0.9.8 to 0.9.9 (as of February 21st, 2007)
GENERAL
- The Rollout Floater will store its position in both the renderer and the INI file. If the renderer has just been assigned, the last known position from the INI file will be used. If the INI file is not initialized yet or has been deleted, the default position (center of desktop) will be used. All 3 methods are dual monitor safe - if necessary, the GUI will be adjusted to avoid disappearing outside of the current desktop.
- Increased the PFlow system limit from 10 to 100 million particles. The auto-increasing will now be performed when the GUI is opened, not when a file is loaded. Also, an increase will be performed only if the particle system has a value less than the number to be increased to.
HISTORY ROLLOUT
- History/Presets lists caching -> faster GUI start up
- New "Align" button aligns left and right list with an offset of 1.
MAIN CONTROLS ROLLOUT
- Right-click menu for the QUICK RENDER / SAVE PARTICLES button with the following items
- Render Scene Dialog toggle
- Save Render Output (Render Scene Particles mode only)
- Explore Render Path (Render Scene Particles mode only)
- Single Frame time mode
- Active Segment time mode
- Custom Range time mode
- Custom Frames time mode
- Enabled and hooked up the >Enable Motion Blur and >Enable Depth of Field options.
LIGHT AND SHADOWS
- Added support for Shadow Density Multiplier per light. (The multiplier found in the Shadow Properties rollout of Max lights). - (defect 3896)
- [>Use Normals] shading mode now works with Particle Flow particles by using the particle's orientation (X axis).
SHADOWS ON MATTE OBJECTS (WIP)
- Light Attenuation Projection maps can now be saved to disk in a sub-folder \Shadows when rendering.
- A new rollout was added featuring two buttons - one option to enable the saving of the maps, and a button (currently disabled) to open the Macroscript tool that converts the scene lights to use the attenuation maps in their projection slots.
PARTICLE SYSTEMS ROLLOUT
- Added a new default None option to avoid rebuilding the list each time a node in the scene changes.
PRT LOADERS
- Early culling of PRT Loaders - if the Enable in Render checkbox is disabled, the PRT Loader will not be processed at all, thus skipping the file name check on saving particles and allowing to overwrite a PRT file used in disabled loaders.
- Added a drop-down list to specify the density source - saved densities only, material opacity only, both. It is currently disabled though as it is not hooked up internally yet.
- Added tools to the PRT Loaders rollout to mass-change the density source.
- Added support for visibility > 1.0 - in cases where a visibility controller is assigned and its value goes above 1.0, so does the density.
MATTE OBJECTS ROLLOUT
- Added a "wait" dialog during Matte Objects saving which reports how many frames of how many objects are being saved.
- Added filters to only report valid geometry objects when saving matte objects files
- Added Debug prints with timing for matte objects saving
BUG FIXES
- Fixed uninitialized Preferences bug - default settings will be BEGINNER.
- Fixed crash on saving particles with >Save Particle Colors unchecked.
- Fixed Local/Global Render Operators evaluation inconsistencies to match Scanline behavior:
- Global Render Operators always override Local ones.
- Only the top-most Global or Local Render operator in an event affects the event.
- Fixed a crash when incrementing Partition Seeds - some operators were returned as undefined but were not handled.
- Fixed a severe bug which would break scripted controllers on Scene Loading
- PRT Loader Icon has wrong size, now size in GUI corresponds roughly to the distance from center of icon to its corner.
- PRT Loader was killing color info when visibility was below 1.0. This has been fixed. (defect 4001)
- PRT Loaded was showing particle colors pre-multiplied by the alpha value. Now, the particle color will be shown where alpha is > 0 and will be black where alpha == 0.
Beta 0.9.8 Change Log
Changes from Beta Build 0.9.7 to 0.9.8 (as of January 26th, 2007)
GENERAL
- All rollouts will be rolled up by default except for the Main Controls rollout.
MAIN CONTROLS ROLLOUT
- Presets buttons have been removed and replaced by a new system with customizable presets.
- Click or Right-Click the [>>] button to open the context menu
- Select a Preset to set the value
- To add a new value to the presets, set it in the spinner, then click the [>>] button and select "Add"
- To remove an existing value from the presets, either enter it or set it via the presets list, then select "Remove"
- >Simple File Controls button was replaced by >Advanced File Controls. Default mode is now Simple (Advanced unchecked). The setting is stored locally in an INI file (not in the renderer/scene)
PARTICLE SYSTEMS ROLLOUT
- PFlow display will show the current frame's RENDER requested count, the system limit and the actual count to be rendered. It does not update automatically on time slider changes or PFlow changes, reselect the drop-down list to update.
BUG FIXES (SINCE 0.9.7)
- 3954: Motion Blur of Particle Loader uses invalid position when no position keyframes - FIXED.
- Not logged: Particle Loader Render Percentage not animatable - FIXED.
- Not logged: Some debug output still printed to the Listener - FIXED.
KNOWN BUGS AND LIMITATIONS
- After a fresh install, some of the Preferences will not be initialized correctly. In the Krakatoa:Preferences rollout, press BEGINNER, ADVANCED or EXPERT to initialize them once. After that, Krakatoa will always follow these preferences until changed again. In particular, without initializing the PRT Loader will not pop up the open dialog when created through the GUI and the Blended Z-Depth/Camera Distance modes will not propose optimal settings.
- The [>>] buttons next to the Deadline Job Name and Comment do not support Right-Clicking like the MBlur/DOF Presets yet.
Beta 0.9.7 Change Log
Changes from Beta Build 0.9.6 to 0.9.7 (as of January 24th, 2007)
LOG WINDOW (NEW!)
- The Log Window will be used from now on to output different feedback info from Krakatoa instead of printing to the MAXScript Listener.
- The Log Window can be opened automatically on output or manually via a button in the Preferences rollout and dedicated MacroScript.
- The output can be filtered in several levels:
- None
- Errors
- Warnings
- Progress
- Statistics
- Debug
- The full output of the log file is currently saved in the Max root folder (until a Krakatoa home directory is exposed).
DEPTH OF FIELD
- Krakatoa's Native Depth Of Field is now enabled for Max and Brazil cameras.
- In a Max camera, add a "Depth Of Field mental ray" multipass effect and enable it. Set the F-Stop value.
- In a Brazil camera, check Depth Of Field, set Focus Distance and F-Stop.
- DOF Sample Rate controls the quality of the effect, 1.0 is low, 5.0 is nice, 10.0 is smooth but slow.
NOTE: The [>Enable Depth of Field] button is currently disabled. To enable/disable DOF, just toggle it in the Camera.
HISTORY ROLLOUT
- When a Preset or History is selected in the Left column of the Comparison dialog, pressing "Load Preset" or "Load From History" will position the drop-down list in the load dialog to the same file.
- New [Scroll Lock] button lets the user lock the relative offset of the left and right lists and scroll both at the same time to compare consecutive renders.
- Default setting for right list is now also History.
- New "Compare Images in RAM Player" button allows the history samples to be compared using A|B mode.
- Delete Preset/Thumbnail buttons moved above the image samples to avoid clicking them when opening RAM Player.
MAIN CONTROLS ROLLOUT
- The [...] button for selecting the Save File Name is always enabled. If a valid file is selected, the Particle Render Mode will be set automatically to "Save Particles To File Sequence".
- Replaced the >PFlow None option with >Other Particles which enables rendering of any particle systems implementing the IParticleObjectExt Interface.
- Changed the name ">Specular Highlights" to ">Use Normals"
- Changed the name "Render Pass" to "Final Pass"
- When >Use Lighting is OFF, the ">Use Final Pass Density For Lighting Pass" button is disabled.
- Moved the [...] button of the save file name field to the left, the [E] button to the right as it is more logical: pick->see->explore.
- New advanced file saving controls with the option to revert to the Simple form from earlier builds.
- Advanced mode provides
- The old full path field with the addition of the [H] History button to show any paths used previously to save particles to.
- Separate fields for Base (Root) Path, Project directory name, Sequence directory name, Take directory name and PRT file name.
- Each field has its own [H] History button to use previously created paths.
- Each field except for the file name has an [E] button to open the Windows Explorer to the given level
- The Take field provides 3 buttons for incrementing the take by 1, 10 or 100.
- The Take field supports ANY take name that finishes with at least one digit.
- If nothing is entered for the Take, no take folder will be used.
- The File Name provides an [M] button to set to the Max File Name.
- If no name is entered or the Max File Name is Untitled and the [M] button is pressed, the default name particles_.prt will be used.
- Each time the path is changed, a prompt will ask about creating the path if it does not exist.
- Right-clicking the QUICK RENDER / SAVE PARTICLES button will now open the Render Scene Dialog.
- NOTE: A new [> Enable Motion Blur] option was added but not hooked up yet. It is disabled for now and will be used in future builds toggle motion blur off without changing the Segments value to 0.
- When rendering Geometry Vertices, Shapes will be considered geometry only if the Enable in Renderer is checked.
- If Enable in Renderer is checked but Enable in Viewport is not, the Knots of the spline will be rendered.
- If both Enable in Renderer and Enable in Viewport are checked, the Vertices of the cross-section mesh will be rendered, respecting the Radial/Rectangular settings.
PARTITIONS AND DEADLINE
- New [>>] buttons added next to the Job Name and Comment fields. When pressed, a context menu will provide options to fill in the field with max file name, project/sequence/take or default comment.
- Same menu lets the user specify the default content of these text fields when Krakatoa GUI is opened.
PARTICLE SYSTEMS ROLLOUT (NEW!)
- This rollout is similar to the Particle Loaders management area, but is dedicated to all other particle sources incl. PFlows, Geometry Vertices, Thinking Particles, Max Legacy Particles etc.
- Features include
- synching scene selection
- displaying all sources or just one category
- displaying only categories enabled for rendering/saving
- Showing the Hidden / Visible state as -- or +
- Showing the name and number of particles in the source
- Buttons to select/deselect and invert the selection
- Buttons to hide/unhide and select the hidden sources
- Callbacks to update the list when objects are created, deleted, hidden, unhidden etc.
- Respects the Matte Objects Named Selection Sets, showing only non-matte geometry
PARTICLE LOADERS
- Switched the GUI dependency - Viewport settings are now dependent on the Render settings
- Viewport Loading mode can use the Render Mode or use its own.
- Colors Loading mode can use the Render Mode or use its own.
- Viewport Percentage is a FRACTION of the Render Percentage and defaults to 1%
- Render Percentage is 100% and the only animatable parameter of the bunch.
- Render Load Mode is set to "First N Particles" as it is faster in the viewports.
- Enable in Render and Enable in Viewport are independent.
- Limits are unchecked by default for both Render and Viewport.
- The File List now allows multiple selections for easier removal of multiple files.
- Added new checkbox "Load Particle Densities" (not working yet). Densities are saved to the PRT file, so there should be an option to load from file or use from the node's material opacity. If both material and load from file are enabled, the material will modulate the saved densities.
- Loader Icon is now drawn as wireframe regardless of viewport shading level.
- Particle size is now set to small dot. In SZB, it draws as a single dot. In DirectX it is 2x2 like PFlow's dots. This is to test the new mode, we will add a selector for small, large dots and lines later.
- The Particle Loaders rollout of the Krakatoa GUI will show the actual percent in the viewport in addition to the fraction percent.
- Added buttons to Enable/Disable Viewport and Render Limits in the "Mass-Changing Utilities" section of the Particle Loaders rollout. Also switched the order of the columns here - Render left, Viewport right - to reflect the changes to the PRT Loader UI.
- Added spinner and button to change the Viewport % value of selected loaders.
MATTE OBJECTS
- Added a class filter to the Create/Update Matte Selection Set feature to avoid adding non-geometry objects as matte objects to a named selection set.
- Added [E]xplore button next to the load from disk field.
- Moved the matte object loading/saving controls to the bottom as they are the second option in the drop-down list too.
- Regrouped the controls in two separate groups for Loading Matter Object Files and Saving them.
- Moved the [...] button to the left, the [E] button to the right as it is more logical: pick->see->explore.
GUI PREFERENCES (NEW!)
- Added a Preferences rollout to allow users to customize the behavior of certain advanced features.
- Added control over the changing of Lighting and Post-Divide By Alpha settings when switching to/from Blended color modes. Options include
- warning and changing,
- changing without warning
- not changing.
- Added control over the Partitions rollout open/close when switching to/from Save Particles to File Sequence. Options include
- Open and close when switching the render mode
- Open when switching to Save mode, do not close when switching back to Render mode
- Do not open when switching to Save mode, close when switching to Render mode
- Do not open or close when switching the render mode
- Added control over the Particle Loaders creation behavior. Options include:
- Open File Dialog after Loader Creation
- Do not Open File Dialog after Loader Creation
- Added preset buttons to switch to Beginner (or Lazy User?), Advanced and Expert mode.
- Added an option to automatically or manually increase the System Limit of PFlows to 10 million.
MAJOR BUG FIXES:
- Particle Loaders can now be used when saving PRT to disk, except when saving to a file already used by a loader (no recursive saving!)
- Particle Loaders hit testing is now enabled for both the icon and particles.
- Particle Loaders do not cause an error when rendering in Blended Z Depth or Blended Camera Distance color mode.
- Particle Loaders now correctly scale density using the visibility controller.
- Fixed Specular Highlight which was overblown - it was scaled 100x as the UI was sticking to 3ds Max values, while the code was using 0-1 range internally.
- Matte Objects Named Selection Sets are now correctly filtered for renderable geometry by the renderer.
MISC:
- Created a Krakatoa MacroScript to toggle the Scripted GUI on/off from the Max UI. This allows the Krakatoa GUI to be accessible via keyboard shortcuts, QuadMenus, Menus and Toolbar buttons. The script can be found in the "Krakatoa" category of the 3ds Max "Customize User Interface" dialog.
- If Krakatoa is not the current renderer, the MacroScript will prompt the user about setting Krakatoa as the current renderer.
- Created two other MacroScripts to toggle the Log Window on/off and to Toggle Auto-Open on Output behavior of the Log Window.
- Created icons for all MacroScripts featuring the Krakatoa volcano.
NOTE: The icons are currently NOT copied to the UI/Icons folder of 3ds Max when installing, please copy them there manually until the Installer gets fixed.
Beta 0.9.6 Change Log
Changes from Beta Build 0.9.4 to 0.9.6 (as of January 4th, 2007)
HISTORY ROLLOUT
- Added Delete Preset/Thumbnail buttons with the option to delete both preset+thumbnail, just thumbnail or cancel.
- Added red cross to the no thumbnail/deleted thumbnail bitmaps.
- When a thumbnail was stored but later deleted, its stand-in bitmap will be darker gray than for "no thumbnail" stand-ins.
- History Thumbnail saved only when rendering, not when saving particles to disk.
- Added indexed sorting by file creation date for History and Presets and also for Load and Save dialogs.
- Added Thinking and PrtLoaders to scene info,
- Added an internal exclusion list for controls (all Deadline controls are now excluded from presets/ history)
- Added Frame Render Time / Frame Save Time value saving in the Scene Info of history records. This will give you an idea how fast/slow the rendering was with the given settings.
- Compressed the rollout controls a bit and increased the size of the Scene Info lists to show more lines incl. the Frame Time.
MAIN CONTROLS ROLLOUT
- Added checkbuttons for Particle types to Render/Save - Pflow Geometry, Legacy Particles, Thinking Particles and Particle Loaders will be checked by default.
- Added preset buttons for MBlur Bias
- Moved saving to Main Rollout, removed file loading option
- Added Specular Shading switch, Specular Level and Glossiness controls (currently for Vertex Particles only)
- When switching to and from Blended Z Depth and Blended Camera Distance color modes, a prompt will inform the user of the defaults for Use Lighting and Post-Divide by Alpha and let him accept or reject the changes. If the settings are already correct, no prompt will be issued. This respects the Volumetric Density vs. Additve Density settings, so Lighting will be suggested as ON only when Volumetric is used.
- Typing in a new path in the Save path field will suggest creating the path if it does not exist yet. .PRT extension and a trailing underscore will be added automatically.
PARTICLE LOADERS
- Implemented new KrakatoaPrtLoader GeometryClass plugin as stand-in for loading PRT and BIN files and binding to scene nodes.\
- Added Particle Loaders rollout to Scripted GUI
- Added lots of callbacks for Particle Loader display incl. select, rename, create, delete, undo and parameter changes.
- Added Selection, Visibility and Mode controls for selected loaders in the Particle Loaders rollout.
- Added Create New Loader button which automatically prompts with file sequence loading dialog.
- The Particle Loader currently has the following features:
- Turn on and off display of particles in the viewport
- Control the percentage of particles to be displayed in the viewport
- Display either every Nth particle (even distribution) or first N (read from beginning).
- Limit the max. number of particles to be displayed in the viewport with an option to toggle the limit on and off
- Display particles either with their saved colors, with the loader's wireframe color, or with the loader's material (self.illum. channel including maps)
- Same controls for Rendering, with the option to use the Viewport loading mode and color display mode for Rendering
- The file list can contain an arbitrary number of file sequences.
- The files can be loaded as sequences with optional time offset, or as a single frame based on the file name.
- The particles can be either attached to the node's transformations (allowing PRS keyframing), or placed where they were saved.
- The Particle Loader can display an optional Krakatoa logo with user-defined size in the viewport.
PARTITIONING:
- Added Deadline Settings, added hyperlink to download FREE Deadline if missing
- Added "Manually Increment Partition and Seeds" button.
- Added a button to restore the Save File Name by removing the Partition ID from it.
- Added "Generate Partitions Locally" button to create all partitions on the local workstation.
- Grayed out all Partition controls when not in Save Particles To File Sequence mode and added a note explaining this.
- Added "Open Deadline Monitor" button to quickly launch the Monitor after a Deadline Submission.
- The whole rollout will be automatically closed when switching to Render Scene Particles and expanded when switching to Save Particles To File Sequence. There is no point in keeping a whole grayed out rollout around when it is not needed.
RENDERING:
- Objects visibility is now respected correctly in all known cases. The particle source will NOT be processed at all if:
- Node's Renderable checkbox is checked
- Node's Hidden property is checked
- Node's Frozen property when Hide Frozen Object is on
- Hide by Category is checked for the object's superclass
- Layer the object is on is hidden
- Layer the object is on is not renderable and the object inherits renderable state from layer
- Visibility Track of the node is set to 0
- In addition, if the Visibility track is higher than 0.0, the particle density will be scaled by the visibility value, allowing for animated fade in and out. (This is broken for Particle Loaders at the moment, it is either on or off)
MAJOR BUG FIXES:
- Fixed slowdowns caused by implicit superclassof calls when PFlows or other heavy processing systems are present.
- Fixed a transform bug where a transformation matrix in a PFlow event was being used to transform particles.
MISC:
- Removed ParticleData rollout
- Added Version / Build data to About dialog AND to the title bar of the Scripted GUI
- Moved Notes rollout down to About rollout
- Added callbacks for closing the GUI dialog on Reset, New and Open (if renderer is not Krakatoa).
KNOWN BUGS AND LIMITATIONS:
- Particle Loaders do not respect the Visibility Track for density scaling. If the visibility value is > 0, the particles will appear with full density. Logged as bug 3914.
- Hit testing the PRT File Loader icon or particles is not implemented yet. Region Selection (window) works. Hit-testing is implemented for the particles bounding box (when there are particles). Use the Particle Loaders rollout in the GUI or Select By Name to select Loaders for now. Logged as bug 3912.
- Normals and Specular Highlights currently supported only with Geometry Vertices as particles (both directly and in PRT File Loaders). Support for normals from other particles TBD.
- Partitioning is not supported for the two first generation Legacy Particle Systems - Spray and Snow. It IS supported for Blizzard, PCloud, PArray and SuperSpray which are second generation Legacy Particles.
- DOF is not exposed yet. MultiPass DOF effect in Max cameras does not work either. Logged as bug 3918.
- PRT File Loader's Particle size in the viewports is not consistent and depends on what point primitives have been drawn before it. It could appear large or as a single dot. Logged as bug 3922.
- PRT File Loaders and legacy particles will fail to render if the color source is set to Blended Z Depth or Blended Camera Distance. Logged as bug 3906.
- Motion Blur is not supported for deforming matte objects yet. Logged as bug 3630.
