Commit Graph

152 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
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
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
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
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
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
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
massimo tristano
755e6df654 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 63bc17dd68068a8bd6e4b7bb

[CL 23611477 by massimo tristano in ue5-main branch]
2023-01-09 08:52:28 -05:00
christopher waters
f8abec7a8e Material header dependency cleanup
- Removing MaterialAttributeDefinitionMap and MaterialRenderProxy from MaterialShared.h
- Removing MaterialShared from Material.h

#preflight 639cbb35776b61ba3b82f03e

[CL 23541603 by christopher waters in ue5-main branch]
2022-12-16 16:24:02 -05:00
christopher waters
7215f7d4ec Fully moving MaterialDomain to its own header.
#jira none
#preflight 639b4dc335203bc7aa695078

[CL 23531533 by christopher waters in ue5-main branch]
2022-12-15 16:01:51 -05:00
Charles deRousiers
d5a07828ed Fix even more Strata blend mode.
#rb none
#jira none
#preflight 639a1ee98c64c74ac80ff657

[CL 23516373 by Charles deRousiers in ue5-main branch]
2022-12-14 14:47:58 -05:00
Charles deRousiers
0f6c784ba0 Fix more Strata blend mode.
#rb none
#jira none
#preflight 6399fdac2960b7322075550f

[CL 23513686 by Charles deRousiers in ue5-main branch]
2022-12-14 12:32:01 -05:00
Charles deRousiers
5c44593f0d Abstract blendmode lookup to ease blend mode compatibility with Strata.
#rb sebastien.hillaire
#jira none
#preflight 6398964335203bc7aa695e10

[CL 23492252 by Charles deRousiers in ue5-main branch]
2022-12-13 10:44:43 -05:00