Commit Graph

21 Commits

Author SHA1 Message Date
sebastien lussier
8be5655769 HLOD builders - Expose base builder classes outside of the WorldPartitionHLODUtilities module
* Corrected wrong profiling tags
* Removed duplicate call to FAssetCompilingManager::Get().FinishAllCompilation() (already performed in  FWorldPartitionHLODUtilities::BuildHLOD())
#rb patrick.enfedaque
#preflight 610154891cec83000166bec5

#ROBOMERGE-SOURCE: CL 16981715 via CL 16981723
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16981733 by sebastien lussier in ue5-release-engine-test branch]
2021-07-28 09:42:49 -04:00
sebastien lussier
a93b48f3b0 HLOD Builders - Refactored to add support for custom HLOD layer type.
* HLOD builder settings now specified through a base UHLODBuilderSettings class.
#rb patrick.enfedaque
#preflight 61004ece390eb400011e63b9

#ROBOMERGE-SOURCE: CL 16972102 via CL 16972347
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16972450 by sebastien lussier in ue5-release-engine-test branch]
2021-07-27 15:38:12 -04:00
sebastien lussier
714c3fee5c HLODBuilderInstancing - Fixed issue with per instance custom data aggregation
#rb patrick.enfedaque
#preflight 60fedfff2882e40001f7470f

#ROBOMERGE-SOURCE: CL 16967693 via CL 16970713
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16970862 by sebastien lussier in ue5-release-engine-test branch]
2021-07-27 14:03:03 -04:00
richard malo
eab7d798b1 Fixed exclusion of PackedLevelInstances from HLOD not actually excluded.
#rb jeanfrancois.dube
[FYI] sebastien.lussier

#ROBOMERGE-SOURCE: CL 16873308 via CL 16873312
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16873321 by richard malo in ue5-release-engine-test branch]
2021-07-16 13:21:53 -04:00
jeanfrancois dube
5bc3d688c5 SceneComponent bounds calculation optimizations:
- Added bComputeFastLocalBounds: when set, the component will use its current bounds transformed back into local space instead of calling CalcBounds with an identity transform.
- Added bComputeBoundsOnceDuringCook: when set, this component will cache its bounds during cooking and never recompute it for cooked builds. This is for components that are known to be static.
- Set both of theses flags automatically to all HLODs components; this greatly reduce the cost of recomputing bounds for HLODs (GT and RT).

#rb sebastien.lussier, richard.malo
#preflight 60edcf7819a0060001145664

#ROBOMERGE-SOURCE: CL 16840643 via CL 16841810
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16841897 by jeanfrancois dube in ue5-release-engine-test branch]
2021-07-13 16:08:56 -04:00
sebastien lussier
157e316678 Support batching components using HLODBatchingPolicy == EHLODBatchingPolicy::Instancing as instanced in the MeshApproximate & MeshSimplify HLOD builders
#rb luc.eygasier

#ROBOMERGE-SOURCE: CL 16737956 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16737965 by sebastien lussier in ue5-release-engine-test branch]
2021-06-21 22:06:41 -04:00
jeanfrancois dube
232dfee9d2 Make sure instancing HLOD layer groups components by their RayTracingGroupId field to make sure that information is still available to Lumen.
#rb sebastien.lussier
[FYI] krzysztof narkowicz

#ROBOMERGE-SOURCE: CL 16718111 via CL 16718115
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16718116 by jeanfrancois dube in ue5-release-engine-test branch]
2021-06-18 08:53:23 -04:00
richard malo
19e465482b Bumped HLOD BaseKey for HLOD Actor to be resaved with texture streaming build data.
#rb sebastien.lussier

#ROBOMERGE-SOURCE: CL 16707138 via CL 16707163
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16707178 by richard malo in ue5-release-engine-test branch]
2021-06-17 13:58:27 -04:00
sebastien lussier
88f989258a World Partition HLOD Builder - Only wait for async compilation if necessary
#rb jeanfrancois.dube

#ROBOMERGE-SOURCE: CL 16661403 via CL 16661417
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16661422 by sebastien lussier in ue5-release-engine-test branch]
2021-06-14 14:16:09 -04:00
sebastien lussier
560bcbc308 World Partition HLODs - Promotion changes
* An HLOD actor can use the "Location" grid placement if all it's source are using this placement option.
* Properly accessing grid placement of source actors using the actor desc view
#rb jeanfrancois.dube

#ROBOMERGE-SOURCE: CL 16646225 via CL 16646238
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16646244 by sebastien lussier in ue5-release-engine-test branch]
2021-06-11 16:05:17 -04:00
sebastien lussier
eac3ae2a6b World Partition HLODs - Added automatic texture size selection based on hints
Supports either:
* From texel density
* From expected mesh screen size
* From expected mesh draw distance

Compute best texture size, taking UV map waste into account.
Currently only supported by the Approximate Actors merge method, to be integrated in the ProxyLOD later.
#rb ryan.schmidt, luc.eygasier

#ROBOMERGE-SOURCE: CL 16635038 via CL 16635077
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16635084 by sebastien lussier in ue5-release-engine-test branch]
2021-06-10 21:50:21 -04:00
sebastien lussier
8bf6168221 World Partition HLODs - Rely on FISMComponentDescriptor to perform batching for Instanced HLODs
#rb richard.malo, jeanfrancois.dube, patrick.enfedaque

#ROBOMERGE-SOURCE: CL 16603616 via CL 16605096
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16605206 by sebastien lussier in ue5-release-engine-test branch]
2021-06-09 10:43:14 -04:00
sebastien lussier
4c88fc99af Approximate Actors HLOD
* Moved duplicated code that was constructing a IGeometryProcessing_ApproximateActors::FOptions from a FMeshApproximationSettings to FApproximateActorsImpl::ConstructOptions()
* Added mesh generation options
** bAllowDistanceField - on by default
** bSupportRayTracing - on by default
** bGenerateLightmapUVs - off by default

* Disable creation of physics body for HLOD

* Scale texture size based on grid promotion (higher z grid index -> higher area covered) - Only temporary, will probably switch to a texel density option instead

#rb ryan.schmidt, jeanfrancois.dube, luc.eygasier

#ROBOMERGE-SOURCE: CL 16538607 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v828-16531559)

[CL 16538620 by sebastien lussier in ue5-main branch]
2021-06-02 16:08:31 -04:00
sebastien lussier
86bb362ad2 World Partition HLOD - Add support for nanite meshes & generating virtual textures to the Actors Approximation merge method
* Use the global engine DefaultHLODFlattenMaterial, which expects virtual textures
* Propagate newly added mesh merge options to the IGeometryProcessing_ApproximateActors::FOptions struct
* Added "EmissiveHDRTexture" texture nodes and "UseEmissiveHDR" options to both FlattenMaterial & FlattenMaterial_VT - will be used by the Actor Approx. HLODs
#rb jeanfrancois.dube, ryan.schmidt

#ROBOMERGE-SOURCE: CL 16505841 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v826-16501804)

[CL 16505847 by sebastien lussier in ue5-main branch]
2021-05-29 21:45:35 -04:00
sebastien lussier
783b045f6f Copy PerInstanceData when creating instanced HLODs
#rb luc.eygasier
#preflight 60afb2473dce58000186efe1

#ROBOMERGE-SOURCE: CL 16486287 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)

[CL 16486301 by sebastien lussier in ue5-main branch]
2021-05-27 11:57:35 -04:00
sebastien lussier
81d6ae77dc Make sure all assets compilation have completed before building an HLOD
#rb patrick.enfedaque

#ROBOMERGE-SOURCE: CL 16484052 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)

[CL 16484321 by sebastien lussier in ue5-main branch]
2021-05-27 10:31:47 -04:00
julien lheureux
0aa52f6cc0 Fixed ISM component AddInstances call that were incorrectly replaced in CL 16329274.
#rb jamie.dale
#rnx

#ROBOMERGE-SOURCE: CL 16417474 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v811-16416015)

[CL 16417695 by julien lheureux in ue5-main branch]
2021-05-21 09:34:00 -04:00
Jamie Dale
ec9161823d Cleaned-up redundant include of UInstancedStaticMeshComponent
This was being included in a header that is included throughout the engine, resulting in any changes to UInstancedStaticMeshComponent triggering an extensive build (2,500-3,000 actions).
After this change it only triggers a build of ~140 actions (EngineTest).

Code that was relying on this implicit include has been updated to include the header if required.

#fyi Ryan.Schmidt
#preflight 60a298adfe43a700014dd14b

[CL 16359882 by Jamie Dale in ue5-main branch]
2021-05-17 17:49:46 -04:00
Jamie Dale
ed869fce3c Deprecated AddInstanceWorldSpace in favor of AddInstance or AddInstances with bWorldSpace set to true
#preflight 609da75922cce00001b3c1b3, 609dc020423c960001c81e10
#fyi Brooke.Hubert

[CL 16329274 by Jamie Dale in ue5-main branch]
2021-05-14 10:07:23 -04:00
Sebastien Lussier
fec9e8df17 WorldPartition HLOD - First pass at hooking MeshApproximation merge method to HLODs
#rb patrick.enfedaque

[CL 16254621 by Sebastien Lussier in ue5-main branch]
2021-05-10 16:13:14 -04:00
Sebastien Lussier
df9948004e Moved WP HLOD Builder to it's own module, WorldPartitionHLODUtilities
Necessary to avoid dragging more geometry tools directly in the Engine module when the new Mesh Approximation merge method will be integrated to HLOD
#rb jeanfrancois.dube

[CL 16207912 by Sebastien Lussier in ue5-main branch]
2021-05-05 11:27:05 -04:00