Cinematic camera tracking sets a viewport that is a subset of the render target in order to achieve an aspect ratio that matches the cinematic, with letter boxing added as needed. The mouse cursor calculations weren't taking this letterboxing into account, because they were only using the size of the viewport, and ignoring the offset of the viewport. To minimize the risk of affecting existing code using PixelToScreen, a new utility function CursorToScreen was added, and the FViewportCursorLocation class alone was updated to use it.
#jira UE-112547
#rb brooke.hubert mihnea.balta
#rnx
#preflight 623fd7655c289ac26e3b0d1e
[CL 19583913 by jason hoerner in ue5-main branch]
- Reworked visibility settings into their own structure. Now has separete times for render based culling and view frustum culling.
- Improved Scalability Overrides UI.
- Now caching various view matrices on the world.
- Some 2D debug rendering helpers in Niagara Debug HUD.
#rb stu.mckenna
[FYI] mateo.egey
#preflight 62457713b6084b9832462147
#ROBOMERGE-OWNER: simon.tovey
#ROBOMERGE-AUTHOR: simon.tovey
#ROBOMERGE-SOURCE: CL 19571006 via CL 19571062 via CL 19571069
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)
[CL 19575801 by simon tovey in ue5-main branch]
also make non-PIE Editor screenshot use requested image format extension
PIE/in-game screenshot was previously fixed
#preflight 623cb12a9f11d3c73944a181
#rb fabian.giesen
[CL 19501017 by charles bloom 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]
FLinearColor has also been modified to make any double->float conversions explicit. Previously all 3D TVector versions were allowed to be implicit and thus could convert TVector<double> => FLinearColor => TVector4<float>.
Fixed up all engine and game casts. Added "//LWC_TODO: precision loss" around any explicit casts that previously were silently explicit and we may need to revisit for precision loss analysis.
#jira UE-122085
#rb Ben.Ingram, Andrew.Davidson
#preflight 61f24af473238441cb7bb0f1
#ROBOMERGE-AUTHOR: zak.middleton
#ROBOMERGE-SOURCE: CL 18751249 in //UE5/Release-5.0/... via CL 18751253 via CL 18751319
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18751326 by zak middleton in ue5-main branch]
Lit->Lumen
Added Lit->Lumen submenu with 4 view modes - Lumen Scene, Lumen Reflection View, Lumen Surface Cache and Overview:
* Lumen Scene - same as ShowFlags->VisualizeLumenScene. Visualizes Lumen scene representation in highest possible quality, with highest possible view distance
* Lumen Reflection View - Lumen Scene, but with current reflections settings. Basically represents how things look in the reflections
* Lumen Surface Cache - visualizes surface cache and marks with pink missing surface cache coverage
* Overview - 3 Lumen view mode tiles, overlaid on top of normal view
Show->Lumen
Added Show->Lumen submenu with 6 flags, which allow to disable specific trace types (screen space, detail, global, far field), disable secondary bounces (radiosity) and disable Screen Space Directional Occlusion.
Show->Visualize
Removed �Lumen Scene� (replaced by Lit->Lumen->Lumen Scene view mode) and �Lumen Global Illumination� (replaced by r.Lumen.Visualize.IndirectDiffuse) from
Advanced visualization modes are accessible through r.Lumen.Visualize.Mode, which overrides current Lit->Lumen-> settings.
Misc changes:
* Renamed VisualizeLumenScene* to LumenVisualize*
* Moved shared visualize parameters to LumenVisualize.h
* Lumen HWRT visualize now uses same ray footprint as SWRT visualize
* Replaced HALF_WORLD_MAX with Lumen::MaxTracingEndDistanceFromCamera and Lumen::MaxTraceDistance in preparation for the LWC WORLD_MAX changes
#rb Patrick.Kelly, Daniel.Wright
#preflight 61e73339b56c33b8ecf753b2
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 18658215 in //UE5/Release-5.0/... via CL 18658227 via CL 18658249
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)
[CL 18658268 by krzysztof narkowicz in ue5-main branch]
This caused inconsistency between what ShaderPrint::BeginView() believe the resolution was and what ShaderPrint::DrawView() was actually drawing to
#rb none
#preflight 61e69be2b56c33b8ecdf1e86
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18638139 in //UE5/Release-5.0/... via CL 18638146 via CL 18638156
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)
[CL 18638170 by guillaume abadie in ue5-main branch]
1) Editor viewports now display at high DPI by default for better Gen5-console feeling in editor on high DPI monitors.
2) Realtime editor viewports now display at screen percentage based on the display pixel count. Fix screen percentage independent of the pixel range could either render not enough pixel at low display resolution or be too slow at high display resolution. Given the level editor viewport can scale in size based on editor user layout preference, monitor, the screen percentage automatically scalling based on display pixel count gives a better experience of quality consistency/GPU cost for rendering frame, especially when going level editor fullscreen with F11 or not. The curve to compute rendering resolution from display resolution is in BaseEngine.ini
3) Non-realtime editor viewports still display at a screen percentage based on OS DPI scale, independent of the display pixel count because use spatial upscaler and therefore need consistent sharpness not worst than editor fonts, but keep same rendering resolution as before to not increase out of GPU memory errors. The performance of potentially rendering at high resolution than a realtime viewport is ignored given the non real-time viewports are not rendering every frame.
4) PIE viewports now override r.ScreenPercentage by default to have consistent resolution quality and performance between realtime editor viewport and gameplay viewport by default without risk of introducing out of GPU memory errors loosing possibly unsaved editor work if the game's graphic settings default to a screen percentage higher. To advertise discoverability of this change, any update to the r.ScreenPercentage cvar will lead to a message display in console/log if overriden by editor settings or dynamic resolution settings.
5) As much as a project can change the default anti-aliasing method, can also configure on a per project basis the default screen percentage behavior in project preference that the editor user can then override locally for his/her own use with his editor settings. For instance mobile only or forward renderer MSAA only video games.
6) When working very high end work-in progress rendering tech project in a econemic context where lattest GPUs are hard to get, the range of GPU performance can vary greatly between contributor of the same projects. To provide more robustness for lowerend GPU of collegues with tech not yet scaling, the project settings now offer a MaxRenderingResolution for editor viewports that can also be overriden on a per user basis.
7) Automated screenshot already takes care of forcing r.ScreenPercentage.
#rb none
#preflight 61e58d4a873f2ea48f33facd
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18633512 in //UE5/Release-5.0/... via CL 18633532 via CL 18633538
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)
[CL 18637384 by guillaume abadie in ue5-main branch]
This CL ensures we don't attempt to use this enum as both a view index and a pass type flag
It also adds EStereoscopicEye to give some pre-defined meaning to the view indices
#rb Jeff.Fisher
#rb peter.tarasenko
#rb steve.smith
#preflight 619ee54b801b361978d3fd11
#ROBOMERGE-OWNER: Jules.Blok
#ROBOMERGE-AUTHOR: jules.blok
#ROBOMERGE-SOURCE: CL 18291679 in //UE5/Release-5.0/... via CL 18291688
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE-CONFLICT from-shelf
[CL 18291805 by Jules Blok in ue5-release-engine-test branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]