Files
UnrealEngineUWP/Engine/Source/Editor/ComponentVisualizers/Private/SpotLightComponentVisualizer.cpp
ryan durand 627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00

39 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SpotLightComponentVisualizer.h"
#include "SceneManagement.h"
#include "Components/SpotLightComponent.h"
void FSpotLightComponentVisualizer::DrawVisualization( const UActorComponent* Component, const FSceneView* View, FPrimitiveDrawInterface* PDI )
{
if(View->Family->EngineShowFlags.LightRadius)
{
const USpotLightComponent* SpotLightComp = Cast<const USpotLightComponent>(Component);
if(SpotLightComp != NULL)
{
FTransform TransformNoScale = SpotLightComp->GetComponentTransform();
TransformNoScale.RemoveScaling();
// Draw point light source shape
DrawWireCapsule(PDI, TransformNoScale.GetTranslation(), TransformNoScale.GetUnitAxis( EAxis::X ), TransformNoScale.GetUnitAxis( EAxis::Y ), TransformNoScale.GetUnitAxis( EAxis::Z ),
FColor(231, 239, 0, 255), SpotLightComp->SourceRadius, 0.5f * SpotLightComp->SourceLength + SpotLightComp->SourceRadius, 25, SDPG_World);
// Draw outer light cone
DrawWireSphereCappedCone(PDI, TransformNoScale, SpotLightComp->AttenuationRadius, SpotLightComp->OuterConeAngle, 32, 8, 10, FColor(200, 255, 255), SDPG_World);
// Draw inner light cone (if non zero)
if(SpotLightComp->InnerConeAngle > KINDA_SMALL_NUMBER)
{
DrawWireSphereCappedCone(PDI, TransformNoScale, SpotLightComp->AttenuationRadius, SpotLightComp->InnerConeAngle, 32, 8, 10, FColor(150, 200, 255), SDPG_World);
}
if (SpotLightComp->IESTexture)
{
LightProfileVisualizer.DrawVisualization( SpotLightComp->IESTexture, TransformNoScale, View, PDI );
}
}
}
}