Additive Rendering - Krakatoa For Maya
Last Edited on 2016/09/16 @ 6:00 am PST
Additive Rendering is a special rendering approach where the color of all particles is accumulated in the pixels of the final rendered image without performing volumetric shading / shadow casting.
How Does It Work
Additive Rendering is achieved by setting the Emission channel to the Color channel's value, while setting the Color and Absorption channels to black (0,0,0). Both Use Emission and Use Absorption must be checked.
The result is fully emissive rendering without any light scattering or attenuation.
Mixing Volumetric And Additive Shading
- The above definition implies that by varying the content of the Color, Emission and Absorption channels per particle, it is possible to blend volumetricly shaded and additive particles in the same image - as the Color and Absorption approach black, Emissive particles will become more and more "additive".
- The following image was produced by setting the Color channel of a PRT Volume using a Volume Noise Texture, while assigning a constant Emission color to blue:
Here is the Alpha channel of the same rendering:
The particles with white Color produce Alpha because they are scattering color into the eye and attenuating light. The particles with black Color do not scatter and do no absorb light, but have Emission, so they are fully additive with no Alpha.
A note about Absorption: When the Use Absorption option is checked, the default Absorption value of every particle will be assumed to be black (0,0,0) unless specified otherwise, which helps us in the above example to achieve the Additive rendering effect. This is true even if the Override Absorption option is not checked to explicitly force the channel to black. However, when Use Absorption is not checked, absorption is still calculated internally, but with an implicit Absorption value of white (1,1,1)! Thus, if you forget to check the Use Absorption option, the above example will not produce the same result, and the Alpha channel will be fully white everywhere!
Forcing Additive Rendering
- To simplify the rendering of additive particles for the cases where no volumetric shading is required at all, Krakatoa provides a quick shortcut called Force Additive Mode.
- It copies the Color into Emission and resets Color and Absorption to black automatically under the hood without the need to tweak any channels or overrides.
- In addition, this mode automatically ignores the scene lights and completely skips both the Lighting pass and the Sorting processing in the Final Pass because the order of drawing additive particles does not matter to the end result - A+B = B+A after all! As result, rendering with Force Additive Mode on can be significantly faster than manually setting the Color, Emission and Absorption settings to produce Additive results!
- In the following rendering of the same setup as above, the Force Additive Mode caused the Color channel (set by the Apply Texture modifier's Volume Noise texture) to be copied into the Emission channel, thus overwriting the blue Emission value set by the user:
Remember that Additive Rendering does not produce an Alpha channel because Alpha makes no sense in compositing when the RGB data is additve - the image should be composited additively over the other image sources.
Here is the Alpha display of the resulting image - there is no Alpha in fully Additive mode: