ObjectVolumeProj Class
This class is used to create a volume projected object that simulates a light beam from a directional light source. It can be animated to create a flow of particles moving to the end of the beam and rotating, if necessary.
Projected volume object is rendered as a number of billboards, where each following billboard is bigger than the previous one.
ObjectVolumeProj Class
Members
ObjectVolumeProj (float width, float height, float fov)
Constructor. Creates a new volume projected object with the given properties.Arguments
- float width - Size of the smallest billboard in units.
- float height - Length of the light beam along the Z axis in units.
- float fov - Angle of the beam cone in degrees. It controls the width of the light beam.
float getStep ()
Returns the distance between neighboring billboards. The step controls how many billboards are used to render the volume projected object. The bigger the step, the less billboards are used to render the object.Return value
Step between billboards.void setFov (float fov)
Sets the width of the beam, which is specified as an angle of the beam cone.Arguments
- float fov - Angle in degrees. The provided value will be saturated in the range [10;90].
float getVelocity ()
Returns the velocity with which billboards move to the end of the beam.Return value
Billboards velocity.void setRotation (float rotation)
Sets a angle of billboards rotation. This angle is set for the billboard at the end of the beam.Arguments
- float rotation - A rotation angle. If a positive value is set, the billboards will be rotated clockwise; if a negative value is set, the billboards will be rotated counterclockwise.
void setRadius (float radius)
Sets a length of the light beam.Arguments
- float radius - Length in units. If a negative value is provided, 0 will be used instead.
void setStep (float step)
Sets a step between billboards. The step controls how many billboards are used to render the volume projected object. The bigger the step, the less billboards are used to render the object.Arguments
- float step - Step between billboards. The provided value will be saturated in the range [0.1; 1]. By the value of 1, the beam is rendered discrete.
float getSize ()
Returns the size of the smallest billboard at the beginning of the beam.Return value
Size of the smallest billboard in units.float getFov ()
Returns the width of the light beam, which is specified as the angle of the beam cone..Return value
Angle in degrees.void setSize (float size)
Sets a size of the smallest billboard at the beginning of the light beam.Arguments
- float size - Size of the smallest billboard in units. If a too small value is provided, 0.001 will be used instead.
float getRotation ()
Returns the angle of billboards rotation. This angle is set for the billboard at the end of the beam. If a positive value is set, the billboards will be rotated clockwise; if a negative value is set, the billboards will be rotated counterclockwise.Return value
Rotation angle.void setVelocity (float velocity)
Sets velocity with which billboards move to the end of the beam.Arguments
- float velocity - Velocity of billboards.
float getRadius ()
Returns the length of the light beam along the Z axis in units.Return value
Length in units.Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)