- Reworked all related logic and interfaces.
- Code cleanup
- Partially revised code related to preview rendering, which was under WITH_EDITOR macros. Now this logic can be used in Package\Standalone builds.
- Several changes to the warp policy interface and related logic.
#jira UE-182095, UE-190474, UE-175129, UE-176536
#rb Alejandro.Arango, Vitalii.Boiko, Andrey.Yamashev, Patrick.Hardy, Trystan.Binkley-Jone
[CL 27764353 by peter tarasenko in ue5-main branch]
- mostly just replacing them AllowWindowsPlatformTypes.h / HideWindowsPlatformTypes.h
- some other files had both Pre/PostWindowsApi.h and Allow/HideWindowsPlatformTypes.h, so just removed
- some occasional include order changes.
#jira UE-152863
#rnx
#rb Devin.Doucette
[CL 26985385 by david harvey in ue5-main branch]
- Added a new function to the IDisplayClusterPostProcessFactory interface
- slightly revised logic for PP on the nDisplay side
- The TextureShareDisplayCluster postprocess is redesigned as a singleton.
#jira UE-187675
#rb Alejandro.Arango, Vitalii.Boiko
[CL 26483912 by peter tarasenko in ue5-main branch]
- Added changes to the UDisplayClusterCameraComponent
* Added GetDesiredView() virtual function, which returns ViewPoint with PP and CustomNearClippingPlane values for this component. Inherited components can use references to external cameras, which will return their data through this function.
- Added changes to the IDisplayClusterWarpBlend interface:
* Added new function ShouldSupportICVFX(). Reasons: only A3D profile supports ICVFX, custom warp policy can disable ICVFX, etc.
- Added changes in the IDisplayClusterProjectionPolicy interface:
* Added new parameter to ShouldSupportICVFX(). Reason: It is used by a new function in the IDisplayClusterWarpBlend interface.
* Renamed GetViewPoint() function to SetupProjectionViewPoint(). The reason: the new name is used in other components (which provide a viewpoint) inside nDisplay. As a result, the value of the new name will be the same for several different classes within nDisplay.
* Renamed the function OverridePostProcessSettings() to UpdatePostProcessSettings(). Reason: The name OverridePostProcessSettings is already used in the UE core classes.
- Added changes in the IDisplayClusterViewport interface:
* Removed the ViewOffset, NCP and FCP parameters from the CalculateView() function. The reason: this values is now calculated inside this function, which eliminates the duplication of this code in 3 places (DisplayClusterMoviePipelineViewportPass, DisplayClusterViewport_EditorPreview, DisplayClusterDeviceBase).
* Added new function GetViewPointCameraEye(): Gets the position of the ViewPointCamera component used by this viewport. The ViewPointCamera component has a new virtual function GetDesiredView(), which can return the position from the cameras it refers to. But in warpblend math, you need the component's position (viewpoint), not the reference.
* Added new auxiliary static functions GetCameraComponentView() and GetPlayerCameraView(). Reasons: Removing duplicate code, getting PP inside the viewinfo, and optional CustomNearClippingPlane value.
- Moved the call of the renamed UpdatePostProcessSettings() function (formerly called 'OverridePostProcessSettings') to the FDisplayClusterViewportConfigurationProjectionPolicy::Update() function
* Also removed the PP setting for the camera projection policy in FDisplayClusterViewportConfigurationProjectionPolicy::UpdateCameraPolicy_Base(), since this is already done in IDisplayClusterProjectionPolicy::UpdatePostProcessSettings().
- Added changes to the projection policy 'camera'
* A new parameter bUseCameraPostprocess (Allow to use camera postprocess) was added to the CameraPolicySettings structure.
* Added UpdatePostProcessSettings() function - fixed bug: postprocess was not passed from camera (postprocess is overridden from projection policy, not directly for viewport. CL #25885471)
* Renamed the GetViewPoint() function to SetupProjectionViewPoint(). The associated logic has also been reworked.
- Added changes to the projection policy 'mpcdi'
* Changed ShouldSupportICVFX(): WarpBlendInterface can disable ICVFX (only A3D supports ICVFX)
* Added GetViewPointCameraEye() to the CalculateView() function (Override viewpoint: MPCDI always expects the location of the viewpoint component)
- Added changes to the projection policy 'manual' and 'link'
* Added SetupProjectionViewPoint() function.
- fixed spelling 'CamersSettings' to 'CamerasSettings'in DisplayClusterProjection module.
- added UE_DEPRECATED for changes in public interfaces.
-reworked Viewport/Configuration
* added warppolicy support
* code cleanup
- code cleanup for UDisplayClusterICVFXCameraComponent
#jira UE-188835
#rb Alejandro.Arango, Vitalii.Boiko
[CL 26151678 by peter tarasenko in ue5-main branch]
- The new Preview interfaces will refer to objects of the base classes.
- Replace all direct pointers to base classes objects with TSharedPtr or TWeakPtr
#jira UE-185979
#rb Alejandro.Arango, Vitalii.Boiko, Andrey.Yamashev
#preflight 6463ac1011205d357357033a
[CL 25512483 by peter tarasenko in ue5-main branch]
- Removing D3D12RHIBasePrivate.h in favor of platform versions of D3D12RHIDefinitions.h, D3D12DiskCache.h, and D3D12PipelineState.h
- These will eventually be included via their non-platform header after other code is moved around.
- Putting D3D12ThirdParty.h platform include in its own contained header.
#jira UE-184506
#rb david.harvey
#preflight 644bfc2605433d31e50f5e9a
[CL 25236457 by christopher waters in ue5-main branch]
-new functions added to API and SDK
-added connection rules for processes by type
-fixed several sync glitches
-fixed multithread deadlock bug
-improved sync logic: run missed sync steps; add the missing sync steps to the settings from framesync().
-added fix texture formats from 5.1.1. The default format has also been changed to 32-bit (to avoid data loss).
-reworked part of PP in nDisplay related to TextureShare
-added resource type for cross adapter
-redesigned and improved debug logs; managed from .cs files for all 3 modules.
-added CPU\GPU profiler.
#jira UE-174756, UE-172036, UE-174463
#rb Alejandro.Arango, Vitalii.Boiko,
#preflight 6412347e3c2db400295ba185
#lockdown Alejandro.Arango
[CL 24666180 by alejandro arango in ue5-main branch]