Move DebugColor assignement code in DataLayerFactory
Debug Color now uses the DataLayerAsset full path instead of its name to avoid clashing
#rb jeanfrancois-dube
#ROBOMERGE-AUTHOR: philippe.deseve
#ROBOMERGE-SOURCE: CL 19396953 via CL 19396960
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19402995 by philippe deseve in ue5-main branch]
#rb matt.hoffman
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19374025 via CL 19376455 via CL 19391702 via CL 19391993
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19402250 by max chen in ue5-main branch]
#rb matt.hoffman
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 19374016 via CL 19376452 via CL 19391698 via CL 19391988
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19402246 by max chen in ue5-main branch]
FImage is now the standard preferred type for a bag of pixels
FImageView can point at pixels without owning an allocation
ERawImageFormat (FImage) converts to ETextureSourceFormat
FImageUtils provides generic load/save and get/set from FImage
major cleanup in the ImageWrappers
new preferred API is through ImageWrapperModule Compress/Decompress
SetRaw/GetRaw functions cleaned up to not have undefined behavior on unexpected formats
ImageWrapper output added for HDR,BMP,TGA
RGBA32F format added and supported throughout import/export
EditorFactories import/export made more generic, most image types handled the same way using FImage now
Deprecate old TSF RGBA order pixel formats
Fix many crashes or bad handling of unusual pixel formats
Pixel access functions should be used instead of switches on pixel type
#preflight 6230ade7e65a7e65d68a187c
#rb julien.stjean,martins.mozeiko,dan.thompson,fabian.giesen
[CL 19397199 by charles bloom in ue5-main branch]
having no setting is standard behavior
also change default size to 64k to match other defaults
#rb none
#preflight none
[CL 19392859 by charles bloom in ue5-main branch]
UDeprecatedDataLayerInstance allows to boot level using deprecated UDataLayers
Worlds using DataLayer can run the DataLayerToAssetCommandlet to transition their existing DataLayers
FActorDataLayer interface is deprecated.
DataLayers Blueprint referencers should now use DataLayerAsset to retrieve DataLayerInstances.
DataLayer Code referencers should now use DataLayerAssets or DataLayerInstance FName to retrieve DataLayerInstances.
DataLayerLabels now only used for display/UI purpose
Relabeling DataLayers is not permitted anymore on new DataLayerInstances (allowed on UDeprecatedDataLayerInstance)
Added Changelist Validation for DataLayers
Added a column to the datalayer outliner showing any data layer errors.
#rb richard.mal jeanfrancois.dube
#preflight 623098c2050dc69468b6a297 (errors only related to lyra, which do not exist in this stream)
#ROBOMERGE-OWNER: philippe.deseve
#ROBOMERGE-AUTHOR: philippe.deseve
#ROBOMERGE-SOURCE: CL 19385808 via CL 19387392
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19389077 by philippe deseve in ue5-main branch]
*) 'Overview' shows skin cache on/off, recompute tangents on/off
*) 'Memory' shows skin cache memory consumption per sk mesh, includes RT if sk mesh uses a separate RT entry
*) 'RayTracingLODOffset` shows RT LOD index offset from raster LOD index
#jira UE-136542
#rb jeremy.moore
#preflight 622bb12b902b7ca699df8755
[CL 19383862 by Josie Yang in ue5-main branch]
+Created a custom syntax tokenizer for Hlsl Highlighter. The vanilla tokenizer does a greedy match, which can lead to cases like "FloatA" to be tokenized as "Float" and "A". The new tokenizer is more specific about when to check for a match
+Added ISyntaxTokenizer to be used as a based class for all syntax tokenizers
#jira UE-144112
#rb Halfdan.Ingvarsson
#fyi Jamie.Dale
#preflight skip
[CL 19380707 by jack cai in ue5-main branch]
A few broad changes:
- No longer restricts asset type to exclude levels
- Instead of failing if the asset registry hasn't fully loaded, it will wait for the registry to finish loading then continue
Unfortunately, the API is partially duplicated across the two systems until the editor asset library can be deprecated
#jira UE-142382 UE-142234
#rb brooke.hubert Patrick.Laflamme
#preflight 622fafdfce577e3ab2d9e966
[CL 19379242 by zach rammell in ue5-main branch]
## Major benefit
* SSS rasterizer matches as close as possible to pathtracer without transmission. Ultimate goal is the user can use rasterizer to look and dev subsurface scattering.
* SSProfile will use mfp. Next is to unify all scattering parameters to mfp.
* Smooth upgrade for rasterizer/raytracing real-time renderer. Path tracer appearance will match rasterizer as previously the parameters are used differently for path tracer and rasterizer.
* Path tracer supports SSS below 1mm.
## The break down of the CL
0. Use mfp instead of dmfp to select the channel to scatter (CL19255292).
1. Match burley high quality rasterizer with pathtracer in ideal SSS condition (CL19227570).
2. Match the low quality burley, separable filter(CL19244046).
3. Upgrade dmfp to mfp in UI. (This one includings all previous CLs).
## Issue
There are two issues I am hunting down
0. Need to scale the scatter distance by 2 for separable filtering so that it matches MC sampling in high quality Burley.
1. Need to scale down the mfp by a magic number 0.6 to match path tracer with high quality burley. However it has no impact for new SS profiles. The mfp is as it is.
#jira UE-138109
#preflight 622f933e511d438d6b5cbccc
[CL 19377844 by Tiantian Xie in ue5-main branch]
I feel like exposing an API to query those keywords on CrossCompiler might not be worth the effort. We will need to introduce an extra storage there to stores the types as they are added to their internal map -> filter out type keywords based on a range in the enum class -> merge it with existing list -> sort the list -> remove duplicates. Could get difficult to debug if one of the steps goes wrong.
#jira UE-144112
#rb halfdan.ingvarsson
#preflight skip
[CL 19376316 by jack cai in ue5-main branch]
- Made WorldContextObject parameter const in RegisterWithGameInstance.
UEditorUtilityBlueprintAsyncActionBase:
- Made WorldContextObject parameter const in overridden RegisterWithGameInstance.
#ROBOMERGE-AUTHOR: graham.lewis
#ROBOMERGE-SOURCE: CL 19371867 via CL 19371877 via CL 19372743 via CL 19373874 via CL 19373938
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19375204 by graham lewis in ue5-main branch]