- Deprecated LandscapeSplineActorDesc as it is no longer needed with this property
#jira none
#rb jeanfrancois.dube, richard.malo
#preflight 62a8c041a43e20b293533548
[CL 20654038 by Patrick Enfedaque in ue5-main branch]
* Fixed ASan issue with dirty data (weightmap/heightmap texture resolving debugging code) by removing usage of lambda in favor of direct call to the dirty function
* Fixed redundant ifdefs and invalid comments
* Removed overallocation of material instances array (was previously done to account for hardware tessellation which doesn't exist anymore)
* Renamed FLandscapeEditLayerReadbackResult to FLandscapeEditLayerComponentReadbackResult to better match what it actually is and changed the output type of readback results from ResolveLayersTexture from a map to an array, because a map was overkill and it allows to batch-handle readbacks in UpdateForChangedWeightmaps / UpdateForChangedHeightmaps
#rb luc.eygasier
#jira UE-155857
#preflight 629f721485333f26644f8c2b
[CL 20553846 by jonathan bard in ue5-main branch]
The rendering of the 4 landscape components is needed for passes (like RVT) where Nanite is not supported or implemented, and we only want the Nanite landscape component to render in the base pass and virtual shadow maps. (mutually exclusive).
I've now implemented a new mutually exclusive render state that each proxy propagates down to the landscape components to override the calculated view relevance without destructively changing properties like bRenderInMainPass (since we don't want to break non-Nanite rendering when Nanite is not supported by the runtime or platform).
[FYI] jonathan.bard, ola.olsson, brian.karis, jeremy.moore
#preflight skip
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20532817 via CL 20532818 via CL 20532819
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)
[CL 20533257 by graham wihlidal in ue5-main branch]
Added some robustness/validation to the GetCompleteBounds call.
#rb jonathan.bard
#preflight 6294c4294c7bcac173ce31bd
[CL 20430596 by julien lheureux in ue5-main branch]
Landscape: added utility function to render the merged heightmap from anywhere in world space. This is done in 2 steps : render the heightmaps of all landscape components overlapping with the requested region into an atlas texture (uncompressed) subsection by subsection, skipping the duplicated rows/columns. Then resample the atlas at the requested location.
If the render target is 8bits/channel, the resulting heightmap will be compressed on the R and G channels. If the target is 16 bits uint, the output will contain the uncompressed height value.
The function supports heightmaps with different minimum mip level and will use the best available mip level. However, currently the intermediate atlas render target is always allocated using the landscape's full resolution.
This is meant to be compatible with runtime but is not at the moment, because it relies on ULandscapeInfo members which are not editor-only but are not available at runtime (yet). This will be fixed later on.
#rb semion.piskarev
#preflight 629007c98c23e52ef0097189
#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 20389454 via CL 20389469 via CL 20389478
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20390053 by semion piskarev in ue5-main branch]
- Allow changing bIsSpatiallyLoaded flag on ALandscapeStreamingProxy and ALandscapeSplineActor
- New flag in ALandscape used to set the bIsSpatiallyloaded flags on newly created AlandscapeStreamingProxy and ALandscapeSplineActor (bAreNewLandscapeActorsSpatiallyLoaded)
#rb richard.malo, jeanfrancois.dube
#preflight 628d1404b378b39d419041cf
#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 20351658 via CL 20351677 via CL 20351695
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)
[CL 20353647 by patrick enfedaque in ue5-main branch]
Also fixed a couple of places where we were not using the FTextureSource's data (even though those calls should be fine since they happen in a place where texture compilation is done)
#rb paul.chipchase
#jira UE-150653
#preflight 62829ff6216d06861f3b7ca9
[CL 20239776 by jonathan bard in ue5-main branch]
* MaxLODLevel == INDEX_NONE means the max available
* Also fixed off-by-one error (Num LOD levels vs Max LOD level)
#jira UE-151563
#preflight 627ab701c42338be6528bc33
[CL 20127983 by Sebastien Lussier in ue5-main branch]
This meant that the test in ALandscapeProxy::PostRegisterAllComponents() to know whether data migration (from non-edit layers to edit layers) should occur, which relies on the cached value bHasLayersContent (which was always false in that case, since there's no landscape component in the ALandscape) and the result of virtual function HasLayersContent() (overridden in ALandscape::HasLayersContent to return true if there's at least one registered landscape edit layer) was always forcing data migration to occur, which would do nothing (no landscape component, hence, no data to migrate) but was still marking the level as dirty
#rb patrick.enfedaque
#preflight 627a67a610766ef8c1f3d590
#ROBOMERGE-AUTHOR: jonathan.bard
#ROBOMERGE-SOURCE: CL 20123696 via CL 20123706 via CL 20123718
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20125767 by jonathan bard in ue5-main branch]
Added a new registry to let the objects provide how their elements should be selected when doing a selection by a volume such as a box or a frustum.
Added a some editor only functions for the marquee selection into the world interface.
#jira UETOOL-4797
#rb Brooke.Hubert
#preflight 624cb2dca64871f1a113bf2a
[CL 19727315 by Julien StJean in ue5-main branch]
Convert landscape mobile cook version to system guid system
#jira
#rnx
#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19346370 via CL 19352300 via CL 19352991 via CL 19355735
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19357735 by marc audy in ue5-main branch]
Fortnite Client Crash in FStreamingRenderAsset::UpdateStaticData when attempting to start a match on Android.
#preflight 6226e2b6671c913c0502a891
#rb patrick.enfedaque
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 19302517 in //UE5/Release-5.0/... via CL 19303828
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19346847 by sebastien lussier in ue5-main branch]
Fixes uninitialized member in FLandscapePerLODMaterialOverride
#rb Jonathan.Bard
#jira UE-144566
#preflight 6220c3397e0217a606ee7545
Original CL Desc
* Removed incomplete per-platform per-LOD level material overrides for landscape. The code isn't meant to support that since material instances are built at edit-time. We would need to somewhat hack it at cook time in order to regenerate (and recompile) the list of material instances per-platform, which is not a recommended thing to to in the engine. Instead, we choose to simply make the per-LOD level material overrides constant across platforms since the recommended way is to customize the material for platforms using material expressions such as Quality Level switc, Shading Path Switc or Feature Level Switc.
* Deprecated/merged FLandscapeComponentMaterialOverride and FLandscapeProxyMaterialOverride into FLandscapePerLODMaterialOverride since they were identical
* Fixed UpdateLayersMaterialInstances which, unlike UpdateMaterialInstances, didn't take into account per-component material overrides
[CL 19242882 by luc eygasier in ue5-main branch]