- 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]
- 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]
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]
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]
#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]