floatm_flHorzSize;// Horizontal and vertical sizes.
floatm_flVertSize;// 1 = size of the sun
IMaterial*m_pMaterial;// Material to use
};
classCGlowOverlay
{
public:
CGlowOverlay();
virtual~CGlowOverlay();
// Return false to remove (and delete) the overlay.
virtualboolUpdate();
// Data the creator should fill in.
public:
// Position of the light source. If m_bDirectional is set, then it ignores
// this and uses m_vDirection as the direction of the light source.
Vectorm_vPos;
// Optional direction. Used for really far away things like the sun.
// The direction should point AT the light source.
boolm_bDirectional;
Vectorm_vDirection;
// If this is set, then the overlay is only visible if the ray to it hits the sky.
boolm_bInSky;
floatm_skyObstructionScale;
#ifdef PORTAL
floatm_skyObstructionScaleBackups[MAX_PORTAL_RECURSIVE_VIEWS];//used in portal mod during stencil rendering to maintain obstructions while rendering recursive views
#endif
CGlowSpritem_Sprites[MAX_SUN_LAYERS];
intm_nSprites;
floatm_flProxyRadius;
floatm_flHDRColorScale;
public:
// After creating the overlay, call this to add it to the active list.
// You can also call Activate and Deactivate as many times as you want.