Hi there
I’m using the DistanceField effects and everything is working right but in a very specific case the editors breaks and exits.
Working with Unreal Engine 4.10.2
Engine - Rendering in project settings has Generate Mesh Distance Fields checked
My Map contains:
-some Movable actors with “Affect Distance Field Lighting” checked;
-a SkyLight (Movable) with “Cast Shadows” checked;
-a DirectionalLight (Movable) with RayTracedDistanceFieldShadows checked
When I disable r.DistanceFieldAO, enable r.DistanceFieldShadows and change r.DetailMode or r.MaterialQuality the engine breaks in
File: DistanceFieldShadowing.cpp
Function: FProjectedShadowInfo::RenderRayTracedDistanceFieldProjection(…)
Statement: check(!Scene->DistanceFieldSceneData.HasPendingOperations());
Is there a workaround to fix this? Or i’m doing something wrong?
Hoping it can helps:
Searching in the code I saw that it happens because the PendingAddOperations and PendingRemoveOperations are not erased in DeferredShadingRenderer.cpp by UpdateGlobalDistanceFieldVolume(…) because in case of disabled DistanceFieldAO the if “ShouldPrepareDistanceFields()” returns always false caused by SupportsDistanceFieldAO(Scene->GetFeatureLevel(), Scene->GetShaderPlatform()).
Is it right that the DistanceFieldShadowing depends like this from DistanceFieldAO?