/** * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. */ class DominantSpotLightComponent extends SpotLightComponent native(Light) hidecategories(Object) dependson(EngineTypes) editinlinenew; var private {private} const DominantShadowInfo DominantLightShadowInfo; /** Array of depths to the furthest shadow casting geometry in each shadowmap cell, quantized to a WORD and stored relative to LightSpaceImportanceBounds.Min.Z. */ var private {private} const native Array_Mirror DominantLightShadowMap{TArrayNoInit}; cpptext { virtual void Serialize(FArchive& Ar); virtual ELightComponentType GetLightType() const; virtual void InvalidateLightingCache(); /** * Called after property has changed via e.g. property window or set command. * * @param PropertyThatChanged UProperty that has been changed, NULL if unknown */ virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent); virtual void FinishDestroy(); /** Returns information about the data used to calculate dominant shadow transition distance. */ void GetInfo(INT& SizeX, INT& SizeY, SIZE_T& ShadowMapBytes) const; /** Populates DominantLightShadowMap and DominantLightShadowInfo with the results from a lighting build. */ void Initialize(const FDominantShadowInfo& InInfo, const TArray& InShadowMap, UBOOL bOnlyVisible); /** Returns the distance to the nearest dominant shadow transition, in world space units, starting from the edge of the bounds. */ FLOAT GetDominantShadowTransitionDistance(const FBoxSphereBounds& Bounds, FLOAT MaxSearchDistance, UBOOL bDebugSearch, TArray& DebugRays, UBOOL& bLightingIsBuilt) const; } defaultproperties { LightShadowMode=LightShadow_Normal }