Krakatoa Render Elements¶
Available in Krakatoa v1.6.0 and higher
Overview¶
- Krakatoa versions prior to v1.6.0 did not support the 3ds Max Render Elements system at all.
- In fact, assigning Krakatoa as the current renderer would cause the Render Elements tab to disappear from the Render Setup dialog, and a dedicated callback made sure all Render Elements were removed.
- Krakatoa v1.6.0 added back the Render Elements tab and introduced several dedicated Krakatoa Render Elements.
Krakatoa Render Element Types¶
- Krakatoa provides the following main Render Element types.
Krakatoa OccludedLayer¶
- This Render Element type is used to output the particles that are partially or fully occluded by Matte Objects.
- For this Render Element to generate data, the option >Save Multiple Layers should be checked in the Matte Objects rollout of the Krakatoa GUI.
- When enabled, the Krakatoa Beauty (RGBA) Output from the render output filename in the 3ds Max render dialog will contain only the particles that are not occluded at all.
- The Krakatoa OccludedLayer Render Element will be added automatically when the >Save Multiple Layers option is checked, but will NOT be removed when the option is unchecked - be sure to remove it manually if not needed.
Krakatoa Diffuse¶
- This Render Element type is used to output the Diffuse component of the Phong Surface shader.
- It will output black for any other shader.
- The Krakatoa Diffuse Render Element can be added and removed without opening the Render Setup dialog > Render Elements tab by pressing the respective button in the Shader Parameters rollout.
Krakatoa Specular¶
- This Render Element type is used to output the Specular highlight component of the Phong Surface shader.
- It will output black for any other shader than Phong Surface.
- The Krakatoa Specular Render Element can be added and removed without opening the Render Setup dialog > Render Elements tab by pressing the respective button in the Shader Parameters rollout.
Krakatoa Emission¶
- This Render Element type is used to output the Emission channel, if available.
- The Render Element must be created manually through the Render Setup dialog > Render Elements tab.
Krakatoa SpecificLight¶
- This Render Element type is used to output the Lighting channel contribution of a specific light source.
- The Render Element must be created manually through the Render Setup dialog > Render Elements tab.
- The Light must be picked manually in the Parameters rollout of the Render Element.
- A dedicated Lighting channel will be allocated in memory for each SpecificLight Render Element, so adding many lights can increase memory usage significantly.
Krakatoa Normal¶
- The Krakatoa Normal Render Element type is used to output the Particle Normals (if available).
- Each particle will be drawn with full alpha on top of any previous particles because blending makes little sense in the context of volumetric rendering. In other words, the resulting image will contain the normals of the particles closest to the camera!
- It must be created manually through the Render Setup dialog > Render Elements tab.
Krakatoa Tangent¶
- The Krakatoa Tangent Render Element type is used to output the Particle Tangents (if available).
- Each particle will be drawn with full alpha on top of any previous particles because blending makes little sense in the context of volumetric rendering. In other words, the resulting image will contain the tangents of the particles closest to the camera!
- It must be created manually through the Render Setup dialog > Render Elements tab.
Krakatoa Velocity¶
- The Krakatoa Velocity Render Element type is used to output the Particle Velocity (if available) in Screen Space.
- The output data can be stored in two ways:
- Real Units Per Frame Velocity (default)- the actual velocity along the X, Y and Z axes will be stored as a Floating point number in the R,G and B components. OpenEXR file output must be used to get the floating data saved correctly.
- Normalized Velocity Per Frame - when the option “Use Max Velocity” is checked, the velocity components will be normalized and centered. The user has to enter the Max. Velocity Per Frame. Any values above this divisor will be clamped. Negative values will be encoded in the range from 0.0 to 0.5. Positive values will be encoded in the range from 0.5 to 1.0. 0.5 will represent zero motion along the respective axis. In other words, if Max. Velocity is 100, a Color value of [0.25,0.9,0.4] means the particle is moving along the -X Camera axis (left) with a speed of 50.0 units per frame, along the Y axis (up) with 80 units per frame, and along the -Z axis (away from the Camera) with a speed of 20.0 units per frame.
- Each particle will be drawn with full alpha on top of any previous particle because blending makes little sense in the context of volumetric rendering. In other words, the resulting image will contain the velocities of the particles closest to the camera!
- It must be created manually through the Render Setup dialog > Render Elements tab.
Krakatoa ZDepth¶
- The Krakatoa ZDepth Render Element type is used to output the distance to the particles.
- By default, a floating point value containing the World Units distance will be stored, in the range from 0 to +Infinity.
- If the “Use Depth Range” option is enabled, the distances between the Min. and Max. values will be normalized to the range from 0.0 to 1.0 with values outside the range clamped to 0.0 or 1.0.
- This Render Element will default to no filtering, thus overwriting all pixels partially covered by the particle depending on the Draw Point Filter settings in the Main Controls rollout of the Krakatoa GUI.
- The result will be the distance to the closest particle to the camera along any view ray, completely ignoring particles partially or fully occluded by other particles.
Krakatoa MatteZDepth¶
- The Krakatoa MatteZDepth Render Element type is used to output the distance to the surface of Matte Objects.
- By default, a floating point value containing the World Units distance will be stored, in the range from 0 to +Infinity.
- If the “Use Depth Range” option is enabled, the distances between the Min. and Max. values will be normalized to the range from 0.0 to 1.0 with values outside the range clamped to 0.0 or 1.0.
Krakatoa CustomData Render Element¶
- This Render Element type uses the same MagmaFlow editor as the Krakatoa Channels Modifiers to define Render Elements based on channels available at render time.
- It must be created manually through the Render Setup dialog > Render Elements tab.
- Note that if a channel is requested by an Input node in the Render Element, it will be allocated in memory at render time, so please be cautious when designing Render Elements to be used with high particle counts.
- The Output Node of the flow will be set automatically to Arity of 3 and to a default channel name “RenderElement”.
- You can modify the data depth (16 or 32) but cannot change anything else.
- The actual Render Element name and output file name must be defined in the Render Elements tab of the Render Setup dialog.
- When the Filter option is unchecked (default), each particle will be drawn as solid 4 pixel splat, covering completely any particles already drawn in these pixels.
- When the Filter option is checked, the particles will be drawn using the current Draw Point Filter settings.