211 Commits

Author SHA1 Message Date
serge bernier
f3620d4994 Support Dynamic shader preloading. Similar to PSOPrecaching, we can load shaders on demand instead of preloading all of them when we load the package. This reduce the memory footprint on shaders since we only load shaders that will be used for rendering. Shader preloading also support the same code logic to delay the creation of the prender proxy when the shaders are not finished loading.
Save up to 16MB on some platforms.

#rb daniele.vettorel, danny.couture, Kenzo.Terelst
#tests 66d8b4154a47dde1dd226334



#ushell-cherrypick of 36036431 by serge.bernier (first of 2 submits)

[CL 36747837 by serge bernier in 5.5 branch]
2024-10-01 17:48:22 -04:00
alex peterson
06d17e6722 Materials: Fixes MaterialTextureScale generating invalid data for materials with world position offsets
* Disables WPO when rendering in RenderMaterialTexCoordScales.
* Fix wrong UV density results from alpha channel in  FMaterialUtilities::ExportMaterialUVDensities() by clearing with FColor::Transparent instead of FColor::Black
* Restore bNullifyWorldSpacePosition logic from CL 2955403 lost in merge commit CL 3019494

#jira UE-212529
#rb jon.cain
#coderview jon.cain
[FYI] tim.stullich

[CL 33689819 by alex peterson in ue5-main branch]
2024-05-16 11:57:46 -04:00
jamie hayes
ec625768bf Partial backout of 33180448.
The displacement scaling material node doesn't work correctly with material instances that do not create static permutations, and we can't assume that displacement scaling of the material can be known as final during material translation. As a result, we stop trying to determine if a constant displacement could effectively disable tessellation and instead return to disabling displacement when the displacement pin has not been connected, which can still be used (via Material Attributes) to disable displacement based on static switches.

#rb massimo.tristano
#rnx

[CL 33576411 by jamie hayes in ue5-main branch]
2024-05-10 11:24:22 -04:00
sebastien lussier
02a0620a4d MergeActor - 1st pass cleaning up include files in order to avoid rebuilding the whole engine when editing merge actor settings
#rb JeanFrancois.Dube

[CL 33209699 by sebastien lussier in ue5-main branch]
2024-04-24 15:24:31 -04:00
jamie hayes
ffb56f2811 Ensure the displacement material attribute is always defaulted to the center and make it so that displacement set to a constant that is equal to center disables displacement for the material.
#rb massimo.tristano

[CL 33180495 by jamie hayes in ue5-main branch]
2024-04-23 17:17:42 -04:00
sebastien lussier
f67194e865 Cleaning up deprecated methods
#rb jeanfrancois.dube

[CL 31257115 by sebastien lussier in ue5-main branch]
2024-02-07 10:07:39 -05:00
sebastien lussier
6f8486c231 Material Baking - When packing metallic/specular/roughness textures, also add "use" switches for these
* Fixes baking with some flattening materials that placed the UseXXX switch after testing for packed properties support
#rb Patrick.Enfedaque

[CL 30243305 by sebastien lussier in ue5-main branch]
2023-12-11 13:41:32 -05:00
wouter dek
5bb20ed04a Add a translated world space options to several material expressions
#rb kevin.ortegren, jon.cain, massimo.tristano
#jira UE-171685

[CL 29508054 by wouter dek in ue5-main branch]
2023-11-06 20:11:55 -05:00
eric renaudhoude
96df7eed02 Deprecating unused view family gamma correction.
#rb arciel.reckman, rod.bogart

[CL 27996251 by eric renaudhoude in ue5-main branch]
2023-09-19 11:03:24 -04:00
don boogert
27a64a33ce Landscape : Create multiple nanite components per Scene Proxy if the number of components > 64
* LanscapeProxy  now has an array of NaniteComponents which are initialized from upto 64 LandscapeComponents each
  * We naively attempt to select components close when selecting LandscapeComponents for a NaniteComponent
  * Refactored UpdateNaniteRepresentation to use the UpdateNaniteRepresentationAsync

#rb jonathan.bard
#jira UE-178072

[CL 26579505 by don boogert in ue5-main branch]
2023-07-25 13:09:00 -04:00
bob tellez
dea7e2eae1 [Backout] - CL26474685
[FYI] don.boogert
Original CL Desc
-----------------------------------------------------------------
Landscape : Create multiple nanite components per Scene Proxy if the number of components  > 64

* LanscapeProxy  now has an array of NaniteComponents which are initialized from upto 64 LandscapeComponents each
  * We naively attempt to select components close when selecting LandscapeComponents for a NaniteComponent
  * Refactored UpdateNaniteRepresentation to use the UpdateNaniteRepresentationAsync

#rb jonathan.bard
#jira UE-178072

[CL 26481502 by bob tellez in ue5-main branch]
2023-07-20 07:27:21 -04:00
don boogert
7f5fb62ba7 Landscape : Create multiple nanite components per Scene Proxy if the number of components > 64
* LanscapeProxy  now has an array of NaniteComponents which are initialized from upto 64 LandscapeComponents each
  * We naively attempt to select components close when selecting LandscapeComponents for a NaniteComponent
  * Refactored UpdateNaniteRepresentation to use the UpdateNaniteRepresentationAsync

#rb jonathan.bard
#jira UE-178072

[CL 26475113 by don boogert in ue5-main branch]
2023-07-19 19:30:03 -04:00
wouter dek
dd04e88b77 Add camera relative origin options for object, actor and particle nodes
#rb massimo.tristano

[CL 25834050 by wouter dek in ue5-main branch]
2023-06-06 20:59:55 -04:00
bryan sefcik
91c57d395e Removed redundant module includes.
#preflight 645d4bf3aa3c584c0b5b3a67

[CL 25435653 by bryan sefcik in ue5-main branch]
2023-05-11 16:48:21 -04:00
Sebastien Lussier
f10842a8e6 World Partition - HLOD: Fix landscape HLODs being all black when using Nanite Landscapes
* Include Nanite landscape scene proxy in the scene capture as these are the ones that are actually visible when rendering LS with Nanite support
#jira none
#rb philippe.deseve
#preflight 6453cc916538e45f752661bf

[CL 25335988 by Sebastien Lussier in ue5-main branch]
2023-05-04 11:35:05 -04:00
Stu McKenna
689adbad98 - Add Particle Sprite Rotation material function
#rb rob.krajcarski
#jira UE-140361
#preflight 64418648f126d87e4590b10f

[CL 25154395 by Stu McKenna in ue5-main branch]
2023-04-21 17:35:23 -04:00
graham wihlidal
e1db51128e Nanite (WIP) scalar displacement UX support in material editor.
#rb jason.nadro, arciel.rekman, brian.karis
#preflight 6435a2e7127980724bfb7e4e

[CL 24997884 by graham wihlidal in ue5-main branch]
2023-04-11 16:48:54 -04:00
sebastien lussier
30d6de42e3 MeshMergeUtilities cleanup
* Moved material creation in MergeComponentsToStaticMesh() to a standalone utility function
* Deprecate bCreateMergedMaterial
#rb trivial

[CL 24197343 by sebastien lussier in ue5-main branch]
2023-02-13 20:06:39 -05:00
Charles deRousiers
80ae3ebe74 Fix BlendMode public API for backward compatibility.
#rb none
#jira none
#preflight 63cef61d544e5bb07565f75c
#fyi sebastien.hillaire

[CL 23827517 by Charles deRousiers in ue5-main branch]
2023-01-24 02:15:00 -05:00
Tim Smith
0fb5daa752 Removed HACK_HEADER_GENERATOR
#rb devin.doucette
#preflight 63cad02ca265157a6d5159af

[CL 23792667 by Tim Smith in ue5-main branch]
2023-01-20 12:47:21 -05:00
Charles deRousiers
338b5c153b Merge BlendMode and BlendModeStrata to reduce code divergence, and ease maintenance.
#rb sebastien.hillaire
#jira none
#preflight 63c03173c77f50e3b47ed2bd

[CL 23683231 by Charles deRousiers in ue5-main branch]
2023-01-13 14:19:13 -05:00
massimo tristano
7043371116 Added check that reports errors if a parameter is added in a Material bound to different values. This should not be allowed.
Code now checks for this occurrences and reprorts an error message instead of siliently trying to compile the material anyway.

This was causing a crash when two material functions containing the same parameter bound to different values (e.g. different textures) are used in the same material.

#jira UE-150412
#rb jeremy.moore
#preflight 63bc4896bf54fa7b36f61ea5
#preflight 63c13055b0652247507fae3e

[CL 23675742 by massimo tristano in ue5-main branch]
2023-01-13 05:36:38 -05:00
massimo tristano
9e4720a5bd Undo changelist 23624757.
#preflight 63bd624ad862fdd347d9fda2

[CL 23625729 by massimo tristano in ue5-main branch]
2023-01-10 08:18:49 -05:00
massimo tristano
98e8affa58 Added check that reports errors if a parameter is added in a Material bound to different values. This should not be allowed.
Code now checks for this occurrences and reprorts an error message instead of siliently trying to compile the material anyway.

This was causing a crash when two material functions containing the same parameter bound to different values (e.g. different textures) are used in the same material.

#jira UE-150412
#rb jeremy.moore
#preflight 63bc4896bf54fa7b36f61ea5

[CL 23624757 by massimo tristano in ue5-main branch]
2023-01-10 04:45:56 -05:00
massimo tristano
a8dc32e175 Undo changelist 23611477
#preflight 63bc20b068068a8bd6e6cca0

[CL 23611763 by massimo tristano in ue5-main branch]
2023-01-09 09:24:30 -05:00