Commit Graph

231 Commits

Author SHA1 Message Date
Ben Ingram
bf90b91344 Add new type FExpressionExecOutput to represent UMaterialExpression execution outputs
- Previously exec inputs/outputs were stored along with other (data) inputs/outpus
- Problem is, for exec pins, we want each output to only support 1 connection, but multiple connections to each input. This is the opposite of data, where we support multiple output connections, but only 1 input connection
- So we flip the representation around, and store output pointers, rather than input pointers...this also better matches the way we iterate exec connections while compiling
- This does complicate some UI logic, as now input/output graph pins no longer line up exeactly with UMaterialExpression inputs/outputs (we still have a flat list of pins, but separate lists of exec/non-exec inputs/outputs)
#jira none
#rb lauren.barnes

[CL 15361599 by Ben Ingram in ue5-main branch]
2021-02-08 18:55:31 -04:00
Zousar Shaker
12d60feecc Bulk pass to address PVS warnings due to use of a TObjectPtr in the result clauses of a ternary operator.
#jira UE-107532
#jira UE-107530
#rb none

[CL 15276391 by Zousar Shaker in ue5-main branch]
2021-02-01 19:17:54 -04:00
Ben Ingram
a557c4be0e Add experimental support for material control flow (if-statement, for-loop, local variables)
- Very WIP, not intended/ready for production use
- Hidden behind CVAR to enable support, and per-material flag to opt in
#jira none
#rb rune.stubbe

[CL 15251606 by Ben Ingram in ue5-main branch]
2021-01-28 17:48:58 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Zousar Shaker
fc2ad21a5e Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Call-site changes for non-scalar wrapped object pointer upgrades in Engine + Shootergame

#rb devin.doucette

[CL 14996467 by Zousar Shaker in ue5-main branch]
2021-01-05 19:16:25 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Sebastien Hillaire
a1da4cbb7d Fixed blending of mateiral layers when strata is not used (default material code chunk needs to be registered too).
#review-14815951 @Charles.deRousiers
#fyi jonathan.litt

[CL 14815949 by Sebastien Hillaire in ue5-main branch]
2020-11-26 11:05:23 -04:00
sebastian nordgren
c678b96a4b FDetailsViewArgs 8 parameter defaulted constructor deprecated and all usages fixed.
#rb lauren.barnes

[CL 14750682 by sebastian nordgren in ue5-main branch]
2020-11-16 08:16:15 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Zousar Shaker
77d13185b7 Copying //UE5/Dev-Cooker@14539516 to Main (//UE5/Main)
[CL 14539954 by Zousar Shaker in ue5-main branch]
2020-10-21 17:56:05 -04:00
Sebastien Hillaire
ca842c6389 Added strata material description into output stat.
Strata material compiler general improvements.
- Created a headers shared between code and shaders
- Build up an internal representation of the material layer (BSDF horizontal mixing per layer)
- Output more meaningful errors for the user to understand what is wrong if using too many BSDFs or layers, etc. (exemple Adding would result in too many BSDFs in a Layer) Important if artist start to use what we currently have to not have them whaste time.
- Add a debug as text in the hlsl code showing the material setup as well as in the material compilation stats.

This later will open other possibility: shared normal cache between layers or per material max byte count instead of max BSDF count.

#rb Charles.deRousiers

[CL 14513400 by Sebastien Hillaire in ue5-main branch]
2020-10-19 08:23:06 -04:00
daren cheng
b97f3074ce Fix issue where it was possible to shift-click to open existing tabs on top of each other in material editor.
#jira UE-100606
#rb none

[CL 14476830 by daren cheng in ue5-main branch]
2020-10-12 20:52:33 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Sebastien Hillaire
8428b0ea62 Strata material graph, new pin type representing the mixed and layered BSDF.
Very basic and lots of things are missing but it is tracked.

#rb Charles.deRousiers

[CL 14444435 by Sebastien Hillaire in ue5-main branch]
2020-10-08 03:11:37 -04:00
daren cheng
92b2730a78 Remove uncessary typename for linux build.
#jira none
#rb none

[CL 14440222 by daren cheng in ue5-main branch]
2020-10-07 14:51:04 -04:00
daren cheng
7d7b0c31ec Fix missing typename for linux builds
#jira none
#rb none

[CL 14439780 by daren cheng in ue5-main branch]
2020-10-07 14:16:01 -04:00
daren cheng
0e796eb369 Add grouping to material graph.
Add composite & pinbase expressions / nodes, which use reroutes under the hood to ensure zero material overhead.
Convert MaterialEditor to a WorkflowCentricApplication.
Generally add subgraph existence support to MaterialGraph / MaterialEditor.

#jira UE-96104
#rb Ben.Ingram Lauren.Barnes
#fyi Lauren.Barnes

[CL 14437968 by daren cheng in ue5-main branch]
2020-10-07 10:35:24 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
aditya ravichandran
956b7f7508 Added functionality in the material editor to rename parameters by pressing F2.
#jira UE-91653

#rb lauren.barnes

#fyi chris.gagnon

[CL 13591127 by aditya ravichandran in ue5-main branch]
2020-06-01 15:50:07 -04:00
lauren barnes
bbcf8d7449 Adding a material parameter panel update to when a parameter is wired in
#jira UE-90880
#rb trivial
#lockdown Simon.Tourangeau

#ROBOMERGE-SOURCE: CL 12939683 in //UE4/Release-4.25/... via CL 12939688 via CL 12939695
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12939701 by lauren barnes in Main branch]
2020-04-20 17:29:15 -04:00
lauren barnes
2727f4f405 Refreshing the material parameter object now sends it to the generator as well.
#rb Arciel.Rekman
#rnx

#ROBOMERGE-SOURCE: CL 12511034 via CL 12511045 via CL 12511047
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12511055 by lauren barnes in Main branch]
2020-04-01 16:33:01 -04:00
bob tellez
136ec97806 #UE4 Material and MaterialInstance editors now reports the temporary top level preview objects they spawn to the asset toolkit so external code can see them (useful in property editor code, since users are editing the preview objects, not the real ones). Also made the objects in RegenerateArrays children of the object they are spawned for, also for discovery reasons.
#jira UE-91182

#ROBOMERGE-SOURCE: CL 12465625 via CL 12465718 via CL 12467508 via CL 12467676
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v672-12450963)

[CL 12467769 by bob tellez in Main branch]
2020-03-27 10:59:17 -04:00