mirror of
https://github.com/tribes2/engine.git
synced 2026-01-20 19:54:46 +00:00
60 lines
1.5 KiB
C++
60 lines
1.5 KiB
C++
//-----------------------------------------------------------------------------
|
|
// V12 Engine
|
|
//
|
|
// Copyright (c) 2001 GarageGames.Com
|
|
// Portions Copyright (c) 2001 by Sierra Online, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef _SPLINEUTIL_H_
|
|
#define _SPLINEUTIL_H_
|
|
|
|
#ifndef _PLATFORM_H_
|
|
#include "Platform/platform.h"
|
|
#endif
|
|
#ifndef _MPOINT_H_
|
|
#include "Math/mPoint.h"
|
|
#endif
|
|
#ifndef _MSPLINEPATCH_H_
|
|
#include "Math/mSplinePatch.h"
|
|
#endif
|
|
#ifndef _COLOR_H_
|
|
#include "Core/color.h"
|
|
#endif
|
|
|
|
namespace SplineUtil
|
|
{
|
|
|
|
struct SplineBeamInfo
|
|
{
|
|
Point3F * camPos;
|
|
U32 numSegments;
|
|
F32 width;
|
|
SplinePatch * spline;
|
|
F32 uvOffset;
|
|
F32 numTexRep;
|
|
ColorF color;
|
|
bool zeroAlphaStart; // first part of first segment has 0 alpha value
|
|
|
|
SplineBeamInfo()
|
|
{
|
|
dMemset( this, 0, sizeof( SplineBeamInfo ) );
|
|
numTexRep = 1.0;
|
|
}
|
|
|
|
};
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Draws strip of specified width along spline. Polys on strip segments are front-facing (billboarded)
|
|
//------------------------------------------------------------------------------
|
|
void drawSplineBeam( const Point3F& camPos, U32 numSegments, F32 width,
|
|
SplinePatch &spline, F32 uvOffset = 0.0, F32 numTexRep = 1.0 );
|
|
|
|
void drawSplineBeam( SplineBeamInfo &sbi );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|