This change is the copy-up of work from //UE5/Dev-ParallelRendering to unify the various RHI texture types
- The separate RHI texture types (FRHITexture2D, FRHITexture2DArray, FRHITexture3D, FRHITextureCube, FRHITextureCubeArray) have been replaced with a single type: FRHITexture.
- Includes the required refactoring / fixes for the various platform RHIs.
The old texture types are still supported via typedefs, but will soon be marked deprecated. Future rendering code should make use of the FRHITexture type instead.
#jira UE-139559
#rb Mihnea.Balta
#preflight 622f3af819287beb2c3047f6
#robomerge[FN_ENGINEMERGE] DEV-NC
[CL 19371962 by Luke Thatcher in ue5-main branch]
Switching direct casts of GDynamicRHI to use the new CastDynamicRHI/GetDynamicRHI functions. This prevents incorrectly casting RHIValidation into the wrong types.
#jira none
#rb josh.adams, will.damon, peter.tarasenko
#preflight 6216a3b9c15ec90be95f54f7
[CL 19116145 by christopher waters in ue5-main branch]
Refactor player sessions
Fix PixelStreamingAudioComponent had delayed audio.
Fix audio bitrate from Unreal Engine to browser was set to a low default causing compressed audio quality in stream. The new default is now Opus maximum value of 510kb/s.
Fix the Selective Forwarding Unit (SFU) not being added to the Pixel Streaming samples folder for a packaged project
Fix default max bitrate not being high enough to support 4k.
Fix reconnections not autoplaying in the browser.
Add datachannel support to SFU.
Add WebRTC c++ client behaviour to pixel streaming system. This is used for developing unit tests.
Add a unit test that will start streaming, connect a client and check that a data channel message can be sent.
Add the ability for a user to start/stop streaming as needed through the use of PixelStreaming.StartStreaming and PixelStreaming.StopStreaming
Add the ability for the stream resolution to be changed at runtime
Notes: AVEncoder no longer stores a width and height; These properties have been moved to the FVideoEncoderInput. This input is now the source of truth and both AMF and NVENC will adapt their resolution to the input resolution.
#rb luke.bermingham
#fyi mattias.jansson, nick.pace, matthew.cotton, aidan.possemiers, sandor.hadas
#preflight 6204c7aba65a8a28464df03c
#jira none
[CL 18948482 by William Belcher in ue5-main branch]
- Fixes to GameplayMediaEncoder crash as HardwareEncoders Plugin is needed to be enabled to use them. Added a alert msg to enable them as they are not enabled by default.
#JIRA UE-137335
#rb Luke.Bermingham
[FYI] Mattias.Jansson
#preflight 61f24a8ec0033b39f8ac9d83
#ROBOMERGE-AUTHOR: aidan.possemiers
#ROBOMERGE-SOURCE: CL 18763869 in //UE5/Release-5.0/... via CL 18764043 via CL 18764352
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18764507 by aidan possemiers in ue5-main branch]
#JIRA: UE-111762
#rb none
#rnx
#ROBOMERGE-SOURCE: CL 15856493 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
[CL 15857265 by tony wong in ue5-main branch]
- Remove redundant static calls on AudioDevice in favor of AudioDeviceManager for finding Main/Active Devices (state managed by the manager, not individual devices)
#rb ethan.geller ryan.mangin
#ROBOMERGE-SOURCE: CL 11119764 via CL 11119771
#ROBOMERGE-BOT: (v640-11091645)
[CL 11119776 by rob gay in Main branch]