UFO: Alien Invasion
r_particle.cpp File Reference
#include "r_local.h"
#include "r_particle.h"
#include "r_draw.h"
Include dependency graph for r_particle.cpp:

Go to the source code of this file.

Functions

static void R_GetSpriteVectors (const ptl_t *p, vec3_t right, vec3_t up)
 Get Sprite Vectors. More...
 
static void R_SpriteTexcoords (const ptl_t *p, float out[8])
 Fills float array with texture coordinates. More...
 
static void R_DrawSprite (const ptl_t *p)
 
static void R_DrawParticleModel (ptl_t *p)
 
static void R_DrawPtlCircle (const ptl_t *p)
 Draws a circle out of lines. More...
 
static void R_DrawPtlLine (const ptl_t *p)
 
static void R_SetBlendMode (int mode)
 
void R_DrawParticles (void)
 

Variables

ptl_t r_particleArray [MAX_PTLS]
 
int r_numParticles
 
cvar_tr_particles
 

Function Documentation

◆ R_DrawParticleModel()

◆ R_DrawParticles()

◆ R_DrawPtlCircle()

static void R_DrawPtlCircle ( const ptl_t p)
static

Draws a circle out of lines.

Parameters
[in]pThe particle definition with origin, radius and color
See also
Draw_Circle

Definition at line 186 of file r_particle.cpp.

References ptl_t::color, R_DrawCircle(), R_EnableTexture(), ptl_t::s, ptl_t::size, and texunit_diffuse.

Referenced by R_DrawParticles().

◆ R_DrawPtlLine()

static void R_DrawPtlLine ( const ptl_t p)
static

◆ R_DrawSprite()

◆ R_GetSpriteVectors()

static void R_GetSpriteVectors ( const ptl_t p,
vec3_t  right,
vec3_t  up 
)
static

Get Sprite Vectors.

Parameters
[in]pthe particle to give the dimensions for
[out]rightthe output right vector for the particle
[out]upthe output up vector for the particle
See also
R_DrawSprite

Definition at line 47 of file r_particle.cpp.

References ptl_t::angles, AngleVectors(), Com_Error(), CrossProduct(), ERR_FATAL, rlocals_t::forward, r_locals, rlocals_t::right, ptl_t::size, ptl_t::style, STYLE_AXIS, STYLE_BEAM, STYLE_FACING, STYLE_ROTATED, rlocals_t::up, VectorNormalizeFast(), and VectorScale.

Referenced by R_DrawSprite().

◆ R_SetBlendMode()

static void R_SetBlendMode ( int  mode)
static

◆ R_SpriteTexcoords()

static void R_SpriteTexcoords ( const ptl_t p,
float  out[8] 
)
inlinestatic

Fills float array with texture coordinates.

Note
Also cares for sprite scrolling (if any)

Definition at line 80 of file r_particle.cpp.

References refdef, ptl_t::scrollS, ptl_t::scrollT, and rendererData_t::time.

Referenced by R_DrawSprite().

Variable Documentation

◆ r_numParticles

◆ r_particleArray

ptl_t r_particleArray[MAX_PTLS]

◆ r_particles

cvar_t* r_particles

Definition at line 32 of file r_particle.cpp.

Referenced by R_DrawParticles(), and R_RegisterSystemVars().