void ULightComponent::CreateRenderState_Concurrent() { Super::CreateRenderState_Concurrent(); bool bHidden = false; #if WITH_EDITORONLY_DATA bHidden = GetOwner() ? GetOwner()->bHiddenEdLevel : false; #endif // WITH_EDITORONLY_DATA if(!ShouldComponentAddToScene()) { bHidden = true; } if (bAffectsWorld) { if (bVisible && !bHidden) { // Add the light to the scene. World->Scene->AddLight(this); } // Add invisible stationary lights to the scene in the editor // Even invisible stationary lights consume a shadowmap channel so they must be included in the stationary light overlap preview else if (GIsEditor && !World->IsGameWorld() && CastShadows && CastStaticShadows && HasStaticShadowing() && !HasStaticLighting()) { World->Scene->AddInvisibleLight(this); } } }
void UExponentialHeightFogComponent::AddFogIfNeeded() { if (ShouldComponentAddToScene() && ShouldRender() && IsRegistered() && FogDensity * 1000 > DELTA && FogMaxOpacity > DELTA && (GetOuter() == NULL || !GetOuter()->HasAnyFlags(RF_ClassDefaultObject))) { World->Scene->AddExponentialHeightFog(this); } }
void UDecalComponent::SendRenderTransform_Concurrent() { //If Decal isn't hidden update its transform. if ( ShouldComponentAddToScene() && ShouldRender() ) { GetWorld()->Scene->UpdateDecalTransform(this); } Super::SendRenderTransform_Concurrent(); }
void UDecalComponent::CreateRenderState_Concurrent() { Super::CreateRenderState_Concurrent(); // Mimics UPrimitiveComponent's visibility logic, although without the UPrimitiveCompoent visibility flags if ( ShouldComponentAddToScene() && ShouldRender() ) { GetWorld()->Scene->AddDecal(this); } }