csgo-2018-source/public/sfmobjects/dmeprojectedlight.h
2021-07-24 21:11:47 -07:00

84 lines
2.5 KiB
C++

//====== Copyright © 1996-2007, Valve Corporation, All rights reserved. =======
//
// A class representing a projected "light"
//
//=============================================================================
#ifndef DMEPROJECTEDLIGHT_H
#define DMEPROJECTEDLIGHT_H
#ifdef _WIN32
#pragma once
#endif
#include "movieobjects/dmelight.h"
//-----------------------------------------------------------------------------
// Forward declaration
//-----------------------------------------------------------------------------
struct LightDesc_t;
struct FlashlightState_t;
class CTextureReference;
//-----------------------------------------------------------------------------
// A spot light - includes shadow mapping parameters
//-----------------------------------------------------------------------------
class CDmeProjectedLight : public CDmePointLight
{
DEFINE_ELEMENT( CDmeProjectedLight, CDmePointLight );
public:
// Sets the spotlight direction
void SetFOV( float flHorizontalFOV, float flVerticalFOV );
float GetFOVx() const { return m_flHorizontalFOV; }
float GetFOVy() const { return m_flVerticalFOV; }
const char *GetFlashlightTexture() const { return m_Texture.Get(); }
void GetFlashlightState( FlashlightState_t &flashlightState, CTextureReference &texture ) const;
private:
CDmaVar< float > m_flMinDistance;
CDmaVar< float > m_flHorizontalFOV;
CDmaVar< float > m_flVerticalFOV;
CDmaVar< float > m_flAmbientIntensity;
CDmaString m_Texture;
CDmaVar< bool > m_bCastsShadows;
CDmaVar< float > m_flRadius;
CDmaVar< float > m_flShadowDepthBias;
CDmaVar< float > m_flShadowSlopeScaleDepthBias;
CDmaVar< float > m_flShadowFilterSize;
CDmaVar< float > m_flShadowJitterSeed;
CDmaVar< Vector2D > m_vPositionJitter;
CDmaTime m_AnimationTime;
CDmaVar< float > m_flFrameRate;
CDmaVar< float > m_flShadowAtten;
CDmaVar< bool > m_bDrawShadowFrustum;
CDmaVar< float > m_flFarZAtten;
CDmaVar< float > m_flAmbientOcclusion;
// Uberlight parameters
CDmaVar< bool > m_bUberlight;
CDmaVar< float > m_flNearEdge;
CDmaVar< float > m_flFarEdge;
CDmaVar< float > m_flCutOn;
CDmaVar< float > m_flCutOff;
CDmaVar< float > m_flWidth;
CDmaVar< float > m_flWedge;
CDmaVar< float > m_flHeight;
CDmaVar< float > m_flHedge;
CDmaVar< float > m_flRoundness;
CDmaVar< bool > m_bVolumetric;
CDmaVar< float > m_flNoiseStrength;
CDmaVar< float > m_flFlashlightTime;
CDmaVar< int > m_nNumPlanes;
CDmaVar< float > m_flPlaneOffset;
CDmaVar< float > m_flVolumetricIntensity;
};
#endif // DMEPROJECTEDLIGHT_H