Commit Graph

61 Commits

Author SHA1 Message Date
zach bethel
c451548ce3 Clean-up of Slate RHI renderer and conversion to RDG.
- Removed legacy render pass management.
 - Merged individual window render passes into single RDG builder.
 - Cleaned up lots of dead code around HDR processing.
 - Moved render batch merging to run asynchronously on the CPU.
 - Ported UMG post buffer system and custom draw element paths to RDG.
 - Replaced expensive scene view creation with much simpler view uniform buffer path.

#rb daren.cheng
#jira UE-211739

[CL 35454938 by zach bethel in ue5-main branch]
2024-08-12 12:00:42 -04:00
luke thatcher
01203093c6 Deprecate:
- FRHITexture2D
 - FRHITexture2DArray
 - FRHITexture3D
 - FRHITextureCube
 - FTexture2DRHIRef
 - FTexture2DArrayRHIRef
 - FTexture3DRHIRef
 - FTextureCubeRHIRef

Replaced with FRHITexture and FTextureRHIRef

These types were unified in UE 5.1 and have been defined via "using" statements to the same underlying texture type for several engine releases.

#rb christopher.waters

[CL 31724002 by luke thatcher in ue5-main branch]
2024-02-22 11:38:35 -05:00
daren cheng
a82b866b00 Add support for layered Slate Post RT processing
---
Add PostBufferUpdate widget which can be used to trigger an update to the Slate Post RT when it "draws"
Updated Post RT will contain Scene + All UI drawn at that time & also be processed by provided processor.
Updated ICustomSlateElement interface to support draw context params.

#rb Patrick.Boutot
#jira UE-199609

[CL 29892909 by daren cheng in ue5-main branch]
2023-11-22 13:45:14 -05:00
charles derousiers
265be512df Fix CIS issue.
#rb none

[CL 27751750 by charles derousiers in ue5-main branch]
2023-09-11 09:52:57 -04:00
charles derousiers
794ac57af6 Add substrate topology visualization for material function.
#rb none
[FYI] sebastien.hillaire

[CL 27751333 by charles derousiers in ue5-main branch]
2023-09-11 09:36:43 -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
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
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
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
charles derousiers
6e8c3956cb Fix CIS issue.
#rb none

[CL 26007973 by charles derousiers in ue5-main branch]
2023-06-15 06:07:01 -04:00
charles derousiers
604f834cb5 Add Subsutrate topology previsualization on the Substrate node within material editor.
#rb none
[FYI] sebastien.hillaire

[CL 26006816 by charles derousiers in ue5-main branch]
2023-06-15 05:22:00 -04:00
bryan sefcik
0837230669 Ran IWYU again on half of the Engine/Source/Editor/... source files.
#jira

[CL 21716414 by bryan sefcik in ue5-main branch]
2022-08-30 23:03:03 -04:00
massimo tristano
80eb789b44 Fixed assertion crash occurring when mouse-overing collapsed material attributes.
Crash occured while generating preview graph displayed in tooltip.

#jira UE-159508
#rb jason.nadro
#preflight 62f3c0e823003b62a328216c

[CL 21318060 by massimo tristano in ue5-main branch]
2022-08-10 10:34:41 -04:00
Josie Yang
af65e53764 Inline edit support to material expression inputs
- Inline edit support for UPROPERTY of type float, int32, uint32, uint8, enum, bool.
- Editable UPROPERTYs with "OverridingInputProperty" metadata are created as inline widgets next to their corresponding inputs.
- Rest of the editable UPROPERTYs may specify "ShowAsInputPin" metadata to become inline edit pins, with 2 choices: "Primary" - show in primary view, "Advanced" - show in in advanced view.
- Update a bunch of material expressions to reflect the changes, rest of the expressions still need to be worked through.

#jira UE-145276
#rb kevin.Ortegren
#preflight 627a3cc8937a047d62282ba7

[CL 20122451 by Josie Yang in ue5-main branch]
2022-05-10 09:53:13 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
dave jones2
1d36b62d36 UE-148463 - Update cumulative time tracking Engine variables to doubles
As a part of the LWC work, this change primarily focues on updating FGameTime and UWorld to use doubles for accumulated time. Note that time deltas will remain as floats.

Additionally:

* A few time-related BP functions were updated to use doubles where appropriate. as well as the FRenderThreadUpdateContext struct for the Slate renderer.
* Some compilation errors were also fixed due to the change.
* Minor changes of float literals to drop the 'f' suffix.

#rb andrew.davidson
#jira UE-148463
#preflight 62603748e30cb43e8cbf2aa7

[CL 19866207 by dave jones2 in ue5-main branch]
2022-04-22 11:57:28 -04:00
jon nabozny
cdc65f654f Reland: Fixes motion blur lengths when using time dilation
#rb josie.yang
#lockdown michal.valient
#preflight 614a44526c96990001c47143

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17606608 via CL 17962735 via CL 18364937 via CL 18364960
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18365023 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:53:56 -05:00
jon nabozny
9693ad4915 Undo //UE5/Private-Frosty/Engine/... changelist 17586431
#lockdown michal.valient
#preflight revert for build breakage

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17587410 via CL 17948832 via CL 18364580 via CL 18364616
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18364712 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:34:52 -05:00
jon nabozny
c418c40de0 Fixes motion blur lengths when using time dilation
#rb josie.yang
#lockdown michal.valient
#preflight 614a1e3259380f0001888d92

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17586431 via CL 17948712 via CL 18364381 via CL 18364522
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18364604 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 23:30:35 -05: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
daren cheng
1c7588384a Edigrate 16359780.
Don't create transactions except on release when moving nodes.

#jira UE-115317
#rb Francis.Hurteau, Patrick.Boutot
#preflight 60a3ff23733ad00001685c6a

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

[CL 16374025 by daren cheng in ue5-release-engine-test branch]
2021-05-18 15:27:53 -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
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
Matt Kuhlenschmidt
dbf5a25c85 Blueprint icon and style update.
This change includes one core toolbar change. FSlateIcon now supports a status  overlay. This is used to show compile status in the blueprint editor
#jira UETOOL-2716

[CL 14983761 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-04 16:35:21 -04:00