Commit Graph

64 Commits

Author SHA1 Message Date
Ben Ingram
3fcb3a0749 Material editor colors wires based on data type when using new HLSL generator
#rb none
#preflight 622ba22f0a614dcb0c034713
#jira UE-145274

[CL 19359292 by Ben Ingram in ue5-main branch]
2022-03-11 14:39:57 -05:00
Ben Ingram
6f2cbfee8c New material HLSL translator supports functions using control flow
#preflight 61dcc5b94d377749b662ee15
#jira none
#rb none

[CL 18567176 by Ben Ingram in ue5-main branch]
2022-01-10 19:10:49 -05:00
kevin ortegren
2d81a2b2d6 Fix Remove Unused Nodes not working properly. It would simply clean up the entire graph each time except for the nodes directly attached to the material master node.
#rb ben.ingram
[at]ben.ingram
#rnx
#jira UE-126834

#ROBOMERGE-OWNER: kevin.ortegren
#ROBOMERGE-AUTHOR: kevin.ortegren
#ROBOMERGE-COMMAND: _robomerge[starship] UE5-Main
#ROBOMERGE-SOURCE: CL 17707138 via CL 17707174 via CL 17707185 via CL 17707192 via CL 17707193
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17707351 by kevin ortegren in ue5-release-engine-test branch]
2021-10-04 09:51:47 -04:00
ben ingram
84d2bffbc3 Fix pin index assignments when collapsing material nodes
#rb none
#jira UE-121677

#ROBOMERGE-SOURCE: CL 17391239 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17391245 by ben ingram in ue5-release-engine-test branch]
2021-09-01 15:30:38 -04:00
ben ingram
6ab65ee613 Fix pin color in material editor
#rb none
#preflight skip

#ROBOMERGE-SOURCE: CL 17308821 via CL 17308839
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17308852 by ben ingram in ue5-release-engine-test branch]
2021-08-25 16:28:05 -04:00
charles derousiers
ea446402e2 Fix crash when opening material.
#rb ben.ingram
#preflight 6112b4adcf0cdd0001c4b783

#ROBOMERGE-SOURCE: CL 17120555 via CL 17120593
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17120624 by charles derousiers in ue5-release-engine-test branch]
2021-08-10 14:13:36 -04:00
ben ingram
e286aecd18 Remove code in UMaterialGraphNode_Base that associated additional data with pins via a TMap
Instead, add 'SourceIndex' directly to UEdGraphPin and remove the map
Too many edge cases where something would modify pins directly, and the map would get out of sync with actual pins
#jira UE-119861
#rb lauren.barnes

#ROBOMERGE-SOURCE: CL 16897567 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16897572 by ben ingram in ue5-release-engine-test branch]
2021-07-20 11:49:47 -04:00
ben ingram
b5d97f57c2 Remove concept of 'linked scopes', instead track number of exec input connections to each expression, and use that to process if/else scopes
- This way we don't need to move statements around, can generate both if/else scope correctly before switching back to parent scope
- Will make it easier to track locals within the current scope
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 16354735 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16354746 by ben ingram in ue5-release-engine-test branch]
2021-05-17 13:03:18 -04:00
ben ingram
ef701d0ad8 Remove UMaterialExpressionReturnMaterialAttributes
- Instead, use control flow materials use the regular root node, with an exec input stacked on top
- Execution begin expression remains
- Will simplify graph processing, as now we only have a single end-point
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 16331502 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16331552 by ben ingram in ue5-release-engine-test branch]
2021-05-14 13:08:51 -04:00
Ben Ingram
926e8df6c7 Add null check to handle missing data
#rb none
#jira UE-114105

[CL 16095409 by Ben Ingram in ue5-main branch]
2021-04-22 13:35:06 -04:00
christopher waters
688c029803 Tessellation Removal: Removing Tessellation specific material parameters.
#jira UE-94564
#rb ben.ingram, sebastien.hillaire, arciel.rekman, jason.nadro
#preflight 6078b15161a9060001161a4c

[CL 16034000 by christopher waters in ue5-main branch]
2021-04-16 10:46:28 -04:00
Arciel Rekman
b3c841267e Do not crash when loading a material that calls a missing function (UE-109104).
#rb Ben.Ingram
#review-15698872 @Ben.Ingram, @Kevin.Ortegren
#jira UE-109104
#robomerge Release-5.0-EarlyAccess

[CL 15699562 by Arciel Rekman in ue5-main branch]
2021-03-15 15:35:37 -04:00
Ben Ingram
9210aed795 Don't cache the results of GetInput/OutputType() for material pins, as this type can change for certain expressions
#rb none
#jira none

[CL 15391443 by Ben Ingram in ue5-main branch]
2021-02-11 16:10:11 -04:00
Sebastien Hillaire
d32298f4ce Re-exposed Starta after merge down from UE5-EA
#fyi Charles.deRousiers, Kevin.Ortegren

[CL 15371147 by Sebastien Hillaire in ue5-main branch]
2021-02-09 18:01:10 -04:00
sebastien hillaire
04e6a3a729 Strata is now hidden in UE5EA.
#rb Charles.deRousiers, Kevin.Ortegren

#ROBOMERGE-OWNER: sebastien.hillaire
#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 15364105 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
#ROBOMERGE-CONFLICT from-shelf

[CL 15368834 by sebastien hillaire in ue5-main branch]
2021-02-09 14:59:01 -04:00
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
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
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
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
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
Juan Canada
f396f56a0b Merging //UE4/Dev-Main@11042002 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 11075443 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-21 14:54:20 -05:00
JeanMichel Dignard
99b55fb883 Merged main @ cl 10981486
#rb none
#rnx

[CL 10985598 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-14 14:45:07 -05:00