RANDOM USER PROJECTS
An advanced rendering pipeline for Panda3D
Angels Fall First: the Second Antarean War
A3P: an indie online shooter

Panda3D Manual: Particle Renderers

Particle renderers add particles to the visible scene graph according to the information stored in the particle objects and the type of renderer. All particle renderers have the following parameters:

VariableDefinitionValues
alphaModeAlpha setting over particle lifetimePR_ALPHA_NONE, PR_ALPHA_OUT, PR_ALPHA_IN, PR_ALPHA_USER
userAlphaAlpha value for ALPHA_USER alpha modeBoolean

The following list contains the different types of renderers and their unique parameters.

Contents

PointParticleRenderer

Renders particles as pixel points.

VariableDefinitionValues
pointSizeWidth and height of points, in pixels[0, infinity)
startColorStarting color(r, g, b, a)
endColorEnding color(r, g, b, a)
blendTypeHow the particles blend from the start color to the end colorONE_COLOR, BLEND_LIFE, BLEND_VEL
blendMethodInterpolation method between colorsLINEAR, CUBIC

ONE_COLOR: point is always the starting color.
BLEND_LIFE: color is interpolated from start to end according to the age of the point
BLEND_VEL: color is interpolated between start to end according to the velocity/terminal velocity.

LineParticleRenderer

Renders particles as lines between their current position and their last position.

VariableDefinitionValues
headColorColor of leading end(r, g, b, a)
tailColorColor of trailing end(r, g, b, a)

SparkleParticleRenderer

Renders particles star or sparkle objects, three equal-length perpendicular axial lines, much like jacks. Sparkle particles appear to sparkle when viewed as being smaller than a pixel.

VariableDefinitionValues
centerColorColor of center(r, g, b, a)
edgeColorColor of edge(r, g, b, a)
birthRadiusInitial sparkle radius[0, infinity)
deathRadiusFinal sparkle radius[0, infinity)
lifeScaleWhether or not sparkle is always of radius birthRadiusNO_SCALE, SCALE

SpriteParticleRenderer

Renders particles as an image, using a Panda3D texture object. The image is always facing the user.

VariableDefinitionValues
texturePanda texture object to use as the sprite image(r, g, b, a)
colorColor(r, g, b, a)
xScaleFlagIf true, x scale is interpolated over particle’s lifeBoolean
yScaleFlagIf true, y scale is interpolated over particle’s lifeBoolean
animAngleFlagIf true, particles are set to spin on the Z axisBoolean
initial_X_ScaleInitial x scaling factor[0, infinity)
final_X_ScaleFinal x scaling factor[0, infinity)
initial_Y_ScaleInitial y scaling factor[0, infinity)
final_Y_ScaleFinal y scaling factor[0, infinity)
nonAnimatedThetaIf false, sets the counterclockwise Z rotation of all sprites, in degreesBoolean
alphaBlendMethodSets the interpolation blend methodLINEAR, CUBIC
alphaDisableIf true, alpha blending is disabledBoolean

GeomParticleRenderer

Renders particles as full 3D objects. This requires a geometry node.

VariableDefinitionValues
geomNodeA geometry scene graph node<Node>