GlowSticks is a post-effect component that allows you to render glowing 3d line-shaped lights.
It calculates the distance from a ray to the light source, to create a volumetric feeling.

How to use

The component works similar to instancing. It reads the glowstick data from different channels
in a specific CHOP. By default an example CHOP is selected to describe which channels can be used.

t[xyz] - center position of the glow stick.
r[xyz] - rotation angles in degrees
radius - inner radius of the light (thickness of the stick)
length - length of the glow stick
intensity - brightness of the light (can exceed 1)
[rgb] - Color of the light

The "Camera COMP" parameter is required to orientate the rendering. The "Render depth TOP" is
optional however. If this TOP is supplied, GlowSticks will only render the lights when they are
not occluded by other geometry. When supplying a component input TOP, GlowSticks will composite
the light over this TOP.

GlowSticks works best when using some tone mapping. By default ACES is implemented and can be switched
on using the toggle.

Changing the "Max light distance" will clamp the maximum distance the light can travel, keeping this
high (>=20), will gives the illusion of volumetric fog.

Technical details

The component is calculating the intersection of a ray, originated from the camera position, and a
capsule (tube with 2 half-spheres as caps). Then by integrating the inverse squared law, it finds 
the total light contribution for that ray. Instead of raymarching though the area, it just have
to evaluate 3 integrals, which makes it relatively fast.

Bugs / support

GlowSticks is built and tested in version 2020.27390 on a Windows machine with an Nvidia videocard.
If you encounter any problems or bugs, please let me know. (forum/discord/email)

Tim Gerritsen

Asset Downloads