Commit Graph

752 Commits

Author SHA1 Message Date
charles derousiers
a5999dd264 Change Substrate material attribute conversion node to only output Substrate data and change root node to allow material attribute to be plugged to transfert all other geometric/meta data.
#rb none
[FYI] sebastien.hillaire

[CL 27872590 by charles derousiers in ue5-main branch]
2023-09-14 05:21:11 -04:00
sebastien hillaire
e3697e15c4 Fixed naming of member variable of FSubstrateMaterialCompilationOutput.
Bump shader version required for DDC, similarly to 27789205.

#rb none

[CL 27831613 by sebastien hillaire in ue5-main branch]
2023-09-13 10:53:08 -04:00
sebastien hillaire
a75c7a6e10 Substrate - Added closure count limit for performance control.
Also added in editor UI for that.

#rb none
see also https://horde.devtools.epicgames.com/job/65004b61563726dac8c16b5c
[FYI] charles.derousiers

[CL 27830870 by sebastien hillaire in ue5-main branch]
2023-09-13 10:37:47 -04:00
charles derousiers
b7b06f4c8a Add Substrate SubstrateConvertMaterialAttributes to ease material attributes setup & manipulation with Subtrate data.
#rb sebastien.hillaire

[CL 27696810 by charles derousiers in ue5-main branch]
2023-09-07 20:05:05 -04:00
sebastien hillaire
fc45c02460 Substrate - renaming - renamed to MCT_Substrate
#rb charles.derousiers

[CL 27593807 by sebastien hillaire in ue5-main branch]
2023-09-05 08:51:11 -04:00
dmytro ivanov
357a88fefe Enable mobile platform stats by default
#rb Dmitriy.Dyomin

[CL 27585397 by dmytro ivanov in ue5-main branch]
2023-09-04 09:10:08 -04:00
marc audy
65de35fdfb Lof elements that were not renamed yet.
- MSM_Substrate
- MCT_Substrate
- FStrataMaterialInput

#rb charles.derousiers

[CL 27563163 by marc audy in ue5-main branch]
2023-09-01 15:06:19 -04:00
tiago costa
62242df915 Moved IsStaticLightingAllowed() to RenderUtils.h and replaced relevant usage.
#rb ola.olsson

[CL 27557666 by tiago costa in ue5-main branch]
2023-09-01 12:07:26 -04:00
sebastien hillaire
eff56c2a11 Substrate - Renaming - Strata class redirection to Substrate class.
#rb none
[FYI] charles.derousiers

[CL 27518277 by sebastien hillaire in ue5-main branch]
2023-08-31 07:55:22 -04:00
charles derousiers
195d4a8fe8 * Fix Substrate colored connection on input
* Add colored pin for Substrate data flow

#rb none
[FYI] sebastien.hillaire

[CL 27515051 by charles derousiers in ue5-main branch]
2023-08-31 04:49:11 -04:00
sebastien hillaire
b7f8af4297 Substrate - Rename/move file(s)
#rb none
[FYI] charles.derousiers

[CL 27515000 by sebastien hillaire in ue5-main branch]
2023-08-31 04:48:07 -04:00
sebastien hillaire
4f274d1ef3 Substrate - Rename/move file(s)
#rb none
[FYI] charles.derousiers

[CL 27514986 by sebastien hillaire in ue5-main branch]
2023-08-31 04:47:50 -04:00
charles derousiers
fc598811b5 Add color Substrate wire.
#rb none
[FYI] sebastien.hillaire

[CL 27514913 by charles derousiers in ue5-main branch]
2023-08-31 04:46:18 -04:00
charles lefebvre
a7e99ef2cb Fix bad cast in MaterialEditor.cpp
#rb daren.cheng
#rnx

[CL 27322331 by charles lefebvre in ue5-main branch]
2023-08-23 17:30:49 -04:00
massimo tristano
d23ef8cc59 New candidate fix for crash occurring when linking a node to the UV input of a Texture Sample.
#jira UE-191678
[REVIEW] jon.cain

[CL 26987345 by massimo tristano in ue5-main branch]
2023-08-10 07:14:08 -04:00
massimo tristano
60c6bc637e Fixed crash occurring in FMaterialEditorUtilities::GetVisibleMaterialParametersFromExpression when a function input isn't found.
#rb jeff.rubin

[CL 26957992 by massimo tristano in ue5-main branch]
2023-08-09 11:38:52 -04:00
adam kinge
43d42d6d2b Required Metal changes to support iOS Simulator.
- add a new shader platform (SP_METAL_SIM) to support iOS Simulator specific compilation requirements
- update iOS sim #define WITH_SIMULATOR to WITH_IOS_SIMULATOR

#jira UE-168571
#rb carl.lloyd

[CL 26850475 by adam kinge in ue5-main branch]
2023-08-04 12:28:20 -04:00
luc rosenzweig
c9eb19e6cd This changelist contains both a refactor of the material graph system, as well as an improved custom HLSL node.
The first series of changes relate to modifying the way that SGraphNode* inheritants are created. Previously, NodeFactory was responsible of creating the SGraphNode* inheritants based on some runtime type checking (which basically means a series of if statements checking if the passed in pointer is of a certain child class type). Now, the UMaterialGraph* inheritants (the controller classes in the MVC paradigm of the material graph) are responsible for creating their own UI components (SGraphNode* inheritants). This just means that we now polymorphically create the proper SGraphNode* for the given UMaterialGraph* inheritant.

This refactor allows us to more flexibly create a variety of nodes types instead of relying on SGraphNodeMaterialBase as a one size fits all solution, leading to the new HLSL custom node. Previously, this node didn't support showing the syntax-highlighted code inline in the node itself. Because we now use polymorphism to create the nodes, it was very easy to create new UMaterialGraph* and SGraphNode* inheritants to support this new change.

Other changes which relate to propagating changes (to affect previews) in MaterialGraphNode.cpp are needed because there previously wasn't the mechanism to do so (which may have been a bug). For instance, suppose you had a constant vector3 feeding into a custom HLSL node which just outputs the color coming from that constant vector3 node. It would be obvious that changing the vector3, requires a preview update of the HLSL node. However, that wouldn't happen - the preview on the HLSL node just stayed the same. These changes addresses that issue.

There is one last series of changes which relates to collapsing the HLSL code in the node. We want to make sure that this change doesn't mess up the layouts of artists' already made material graphs which use the custom HLSL node. In order to address this, we added the ability to collapse the code in order to hide it. Furthermore, we had to make sure that projects which previously used a custom HLSL node, have the code collapsed by default (because it wasn't there before). However, creating a new HLSL node once this change comes in, would yield an uncollapsed node. The collapsing of nodes uses the "Advanced Pins" chevron/collapser which doesn't save its state after saving and exiting the material. It was crucial, in order to preserve the layout of the material graph, that the saving happens. However, previously, the only way to save state, was to go through a recompile/regeneration of the previews. Therefore, it was necessary to add a special function in the material editor utilities which would just mark the material as dirty such that states like whether the code was collapsed save throughout sessions.

#jira UE-146779
#rb jason.nadro

[CL 26677757 by luc rosenzweig in ue5-main branch]
2023-07-28 13:01:00 -04:00
florin pascu
38932a3bcb Mobile PostProcess locallight
#rb Dmitriy.Dyomin

[CL 26539203 by florin pascu in ue5-main branch]
2023-07-24 03:26:30 -04:00
jeremy moore
d94f4d8528 Add bluepprint getter for nanite override material.
[CL 26509169 by jeremy moore in ue5-main branch]
2023-07-21 09:26:51 -04:00
sameer mirza
9a5bdfd1fe Ability to Collapse to Material Function (save asset) and Expand back to nodes.
#jira UE-148466
#rb massimo.tristano

[CL 26456261 by sameer mirza in ue5-main branch]
2023-07-19 05:50:04 -04:00
jeremy moore
dc0ab98325 Fix GetMaterialExpressionInputTypes() to get type from the feeding pin.
[CL 26190484 by jeremy moore in ue5-main branch]
2023-06-22 15:13:46 -04:00
jeremy moore
789735cffe Add GetMaterialExpressionInputTypes() to MaterialEditingLibrary.
Returns an array of ints for each input on an expression that map to the EMaterialValueType enum.

[CL 26166186 by jeremy moore in ue5-main branch]
2023-06-21 18:03:06 -04:00
jeremy moore
e45f36d537 Add GetMaterialExpressionInputNames() to MaterialEditingLibrary.
Returns an array of names for each input on an expression.

[CL 26163029 by jeremy moore in ue5-main branch]
2023-06-21 17:06:01 -04:00
jeanluc corenthin
4da4769cb2 Restoring Danny Kabrane's changes with the addition of the missing redirection which caused the warnings during cooking
#rb danny.kabrane
[FYI] bob.tellez

[CL 26087626 by jeanluc corenthin in ue5-main branch]
2023-06-19 08:36:04 -04:00