Commit Graph

53 Commits

Author SHA1 Message Date
peter tarasenko
9d90a7823d nDisplay: Added new interface IDisplayClusterViewportConfiguration
- 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]
2023-09-11 14:41:07 -04:00
david harvey
da9b5b86f5 Do not include PreWindowsApi.h / PostWindowsApi.h directly in code.
- 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]
2023-08-10 03:34:53 -04:00
david harvey
bdb4199eeb Remove unnecessary WindowsHWrapper.h & MinWindows.h include - both files will be automatically included by AllowWindowsPlatformTypes.h
#jira UE-152863
#rnx
#rb Josh.Adams

[CL 26912096 by david harvey in ue5-main branch]
2023-08-08 05:50:53 -04:00
peter tarasenko
23756cd25a nDisplay, TextureShare:
- 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]
2023-07-20 08:57:45 -04:00
peter tarasenko
24f0c9a22d nDisplay:
- 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]
2023-06-21 11:48:31 -04:00
zach bethel
a7a9029b20 Deprecated InitRHI() in favor of InitRHI(FRHICommandListBase&).
#rb mihnea.balta, luke.thatcher, christopher.waters

[CL 26097009 by zach bethel in ue5-main branch]
2023-06-19 13:56:56 -04:00
zach bethel
a9a5fa39db Deprecated non-command list variant of InitResource and UpdateResource. Patched the engine to pass command lists through. Follow-up CL's will refactor individual locations to thread command lists through the various callstacks, but that was done very judiciously in this CL to reduce risk.
#rb mihnea.balta, christopher.waters

[CL 25953623 by zach bethel in ue5-main branch]
2023-06-13 11:46:40 -04:00
zach bethel
6d657e92f1 Resubmitted InitDynamicRHI refactor with fixes for startup initialization.
[CL 25897584 by zach bethel in ue5-main branch]
2023-06-09 12:58:33 -04:00
zach bethel
f0efa3cf35 Undo refactor of InitDynamicRHI as there is a memory leak.
[CL 25872730 by zach bethel in ue5-main branch]
2023-06-08 11:34:52 -04:00
zach bethel
f84151acfa Deprecated {Init, Release}DynamicRHI in favor of just {Init, Release}RHI.
#rb luke.thatcher, christopher.waters, mihnea.balta

[CL 25859166 by zach bethel in ue5-main branch]
2023-06-07 17:33:37 -04:00
peter tarasenko
3889d87bb3 nDisplay: The base classes DCViewport and DCViewportManager are reworked as TSharedPtr.
- 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]
2023-05-17 14:07:26 -04:00
christopher waters
db25fadb2d D3D12 Platform Header Cleanup
- 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]
2023-04-28 14:19:55 -04:00
christopher waters
21337d2468 Reorganizing D3D12ThirdParty headers to use COMPILED_PLATFORM_HEADER.
#preflight 644aa9496638b91284127cca

[CL 25221753 by christopher waters in ue5-main branch]
2023-04-27 15:30:54 -04:00
christopher waters
c46d3f68c5 Changing manual include paths to use PublicIncludePathModuleNames.
#preflight 64417c27f030f684d529a705

[CL 25139552 by christopher waters in ue5-main branch]
2023-04-20 19:03:39 -04:00
Steve Robb
b4c714258d Fixed shadowing warnings.
#rb none
#jira none
#preflight none

[CL 24890587 by Steve Robb in ue5-main branch]
2023-04-03 06:45:04 -04:00
peter tarasenko
c5c40396d4 TextureShare:
* added missing headers (after CL 24666180)
* simplification of nested namespaces
* updated SDK files

#jira none
#rb Alejandro.Arango, Vitalii.Boiko
#preflight 641497108354cad0fa107241

[CL 24691383 by peter tarasenko in ue5-main branch]
2023-03-17 12:49:40 -04:00
alejandro arango
3dc49370e9 TextureShare: Fix bad merge of a bad merge fix.
#rb
#jira
#rnx

[CL 24667635 by alejandro arango in ue5-main branch]
2023-03-16 00:28:47 -04:00
alejandro arango
aeb53a6123 TextureShare: Fix merge issue.
This is a temp fix for compilation purposes.

#rb
#jira
#rnx

[CL 24667631 by alejandro arango in ue5-main branch]
2023-03-16 00:28:22 -04:00
alejandro arango
8d0ee3cdbf TextureShare: Fix merge issue in build file.
#rb
#jira
#rnx

[CL 24667628 by alejandro arango in ue5-main branch]
2023-03-16 00:28:09 -04:00
alejandro arango
8c87730676 TextureShare: Fixed multiple issues
-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]
2023-03-15 20:46:42 -04:00
christopher waters
dd7c0212f8 Changing a lot more code to use batched shader parameters.
#preflight 63fe6efce32cdb7d9a6a5330

[CL 24472528 by christopher waters in ue5-main branch]
2023-03-01 17:43:57 -05:00
peter tarasenko
e3f301933c TextureShare: Fixed compiler issues for string conversion local variables.
#jira UE-173522
#rb Alejandro.Arango, Vitalii.Boiko
#preflight 63fe613530633435f8ad653a

[CL 24458752 by peter tarasenko in ue5-main branch]
2023-03-01 01:58:39 -05:00
christopher waters
a123d54e30 Removing unnecessary include.
[CL 24409813 by christopher waters in ue5-main branch]
2023-02-24 16:55:32 -05:00
christopher waters
dac0c0320f Adding API accessors for SceneTexture planes.
#rb zach.bethel

[CL 24387118 by christopher waters in ue5-main branch]
2023-02-23 14:59:47 -05:00
christopher waters
70aaa3b1a6 Fixing include paths to make them less hardcoded.
[CL 24273684 by christopher waters in ue5-main branch]
2023-02-16 19:31:14 -05:00