48 lines
1.3 KiB
C
48 lines
1.3 KiB
C
|
// Copyright (C) 2007 Id Software, Inc.
|
||
|
//
|
||
|
|
||
|
|
||
|
#ifndef __MODELCHEAPDECAL_H__
|
||
|
#define __MODELCHEAPDECAL_H__
|
||
|
|
||
|
/*
|
||
|
===============================================================================
|
||
|
|
||
|
These are very simple models they are not clipped against the underlying
|
||
|
geometry like normal decals so only small bits like bullet holes etc. should
|
||
|
bee realized with this system.
|
||
|
|
||
|
===============================================================================
|
||
|
*/
|
||
|
|
||
|
#include "Model.h"
|
||
|
|
||
|
class idRenderModelStatic;
|
||
|
|
||
|
class sdRenderModelCheapDecal : public idRenderModelStatic {
|
||
|
|
||
|
int numUsedJoints;
|
||
|
short jointsUsage[16];
|
||
|
short jointsIdx[16];
|
||
|
int maxDecals;
|
||
|
bool useJoints;
|
||
|
|
||
|
bool UpdateSurface( idRenderEntityLocal *def, modelSurface_t &surf, float time );
|
||
|
|
||
|
public:
|
||
|
sdRenderModelCheapDecal( int maxDecals, bool useJoints );
|
||
|
~sdRenderModelCheapDecal( void );
|
||
|
|
||
|
void AddDecal( idRenderEntityLocal *def, const cheapDecalParameters_t ¶ms, float time );
|
||
|
void AddDecalDrawSurfs( struct viewEntity_s *space );
|
||
|
void AddDecalDrawSurfs( void );
|
||
|
|
||
|
// Cleans up unused memory (will happen after all decails died for example)
|
||
|
// returns true if the "this" should be deleted because all decails are gone
|
||
|
bool CleanUp( void );
|
||
|
void Clear( void );
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif /* !__MODELCHEAPDECAL_H__ */
|