Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.6 KiB

5 years ago
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
#ifndef C_TRACER_H
#define C_TRACER_H
class Vector;
class ParticleDraw;
class CMeshBuilder;
//-----------------------------------------------------------------------------
// Tracer_Draw(): draws a tracer, assuming the modelview matrix is identity
// This function accepts all arguments in CAMERA (pre-projected) space
//
// arguments
// [in] Vector& : The origin of the tracer (CAMERA space)
// [in] Vector& : The direction and length of the tracer (CAMERA space)
// [in] float : The tracer width (CAMERA space)
// [in] float* : r, g, b, a (0 - 1)
//-----------------------------------------------------------------------------
void Tracer_Draw( ParticleDraw* pDraw, Vector& start, Vector& delta,
float width, float* color, float startV = 0.0, float endV = 1.0 );
void Tracer_Draw( CMeshBuilder *pMeshBuilder, Vector& start, Vector& delta, float width, float* color, float startV = 0.0, float endV = 1.0 );
//-----------------------------------------------------------------------------
// Computes the four verts to draw the tracer with, in the following order:
// start vertex left side, start vertex right side
// end vertex left side, end vertex right side
// returne false if the tracer is offscreen
//-----------------------------------------------------------------------------
bool Tracer_ComputeVerts( const Vector &start, const Vector &delta, float width, Vector *pVerts );
#endif // C_TRACER_H