Commit Graph

148 Commits

Author SHA1 Message Date
florian penzkofer
688f324056 Mobile SSR: SSR is now done in deferred shading pass.
#rb Dmitriy.Dyomin
#jira UE-120565

[CL 34559883 by florian penzkofer in ue5-main branch]
2024-06-21 09:09:19 -04:00
matt peters
a24e25b334 CookedEditor: Support native classes, and wildcards to specify them, in [CookSettings].DisallowedObjectClassNamesToLoad.
#rb Josh.Adams
#rnx

[CL 34539359 by matt peters in ue5-main branch]
2024-06-20 14:52:12 -04:00
florian penzkofer
695d4319e6 Support screen space reflections in the mobile renderer.
Supported in forward and deferred. It works without TAA but no denoising is done, so it looks much worse.

At the moment enabling SSR implies doing a depth prepass.

#jira UE-120565
#rb Dmitriy.Dyomin, Florin.Pascu

[CL 34127334 by florian penzkofer in ue5-main branch]
2024-06-05 12:02:30 -04:00
aleksander netzel
2a8d87939a HWRT: Add new platform setting for better control over which passes in HWRT are enabled on platforms that support all modes:
* New options:
 - "Disabled" - will turn off cooking and running with ray tracing.
 - "Inline" - will not compile any ray tracing material shaders and disable support for ray tracing shaders at runtime (saving time and memory) only inline passes will work.
 - "Full" - will enable full support for any ray tracing pass using inline or material shaders.

* Set "Inline" as a default mode on those platforms.
* Made barycentrics the new default ray tracing visualization mode because it's supported in all modes.

#rb Krzysztof.Narkowicz, Yuriy.ODonnell
#tests project with different RayTracingMode configurations

[CL 33473937 by aleksander netzel in ue5-main branch]
2024-05-06 18:21:02 -04:00
john huelin
7121101cd8 SDK (1): Changes in common code needed to support SDK changes on some platforms
#rb Wojciech.Krywult

[CL 32855114 by john huelin in ue5-main branch]
2024-04-10 09:49:42 -04:00
florin pascu
4212ff13dc Deprecated FTargetPlatformBase, TTargetPlatformBase and TNonDesktopTargetPlatformBase
Replaced with FTargetPlatformControlsBase/FTargetPlatformSettingsBase,  TTargetPlatformControlsBase/TTargetPlatformSettingsBase and TNonDesktopTargetPlatformControlsBase
#jira UE-206488
#rb Josh.Adams

[CL 32151592 by florin pascu in ue5-main branch]
2024-03-11 07:24:38 -04:00
charles bloom
fafc3edc8f Texture limit output size in bytes from platform size limit
This limit is a hard limit on the size of a texture resource that will not crash the game
this is not a dimensional limit, or a heuristic limit to make small platform-friendly textures
rather this enforces the absolute limit of texture sizes that will not crash the runtime or fail to package

#rb fabian.giesen
#jira UE-203737, FORT-694622

[CL 31536312 by charles bloom in ue5-main branch]
2024-02-15 16:36:13 -05:00
florin pascu
44abef1c1d Resubmit CL 31307944 with fixes to ITP/ITPC interface
#jira UE-200883
#rb Josh.Adams

[CL 31341150 by florin pascu in ue5-main branch]
2024-02-09 10:50:54 -05:00
alex kahn
8fa98b800b [Backout] - CL31307944 - CIS FastCook Error
[FYI] Florin.Pascu
Original CL Desc
-----------------------------------------------------------------
Common Code changes for TP refactor
#jira UE-200883
#rb Jack.Porter, Josh.Adams

[CL 31315641 by alex kahn in ue5-main branch]
2024-02-08 19:58:02 -05:00
florin pascu
6bffc1747f Common Code changes for TP refactor
#jira UE-200883
#rb Jack.Porter, Josh.Adams

[CL 31308098 by florin pascu in ue5-main branch]
2024-02-08 17:30:01 -05:00
florin pascu
367836ea48 First part of TargetPlatform(TP) refactor into TargetPlatformSettings(TPS) and TargetPlatformControls(TPC)
TPS doesn't need SDK and will be used to get info about the platform
TPC requires SDK
AndroidTP has been converted to the new system
#jira UE-200883
#rb Jack.Porter

[CL 30963885 by florin pascu in ue5-main branch]
2024-01-29 04:50:19 -05:00
arciel rekman
4c3e0b8db3 Fix inability to cook spline meshes by a cooked cooker (resubmit after backout in CL 30847866).
Cooked cooker is a relatively new platform in Unreal that allows producing a cooked editor build and using it to cook new assets (e.g. DLC for the base game). Such cooked cooker build is faster to load than the original editor build that would cook from the source assets, and it can also be more easily deployed to cloud environments.

The problem this fix is solving is as follows:

1) Spline mesh needs collision data from the static mesh it deforms. This collision data is usually derived from its render data.
2) Cooked cooker target platform (see TCookedCookerTargetPlatform) is basically a server build, assets cooked for this platform do not store render data.
3) If a new (uncooked) spline mesh is referencing a static mesh from the base build, it fails to get its collision data because the render data was stripped when producing the cooked version of the base build.

The solution is

- to introduce a new target platform feature that allows to distinguish cooked cooker target platform from other platforms that strip audio-visual data.
- when cooking static meshes for a "cooked cooker" target get a separate copy of the asset's collision data and save it inline in the cooked asset.
- inside the cooked cooker, use this copy as static mesh's collision data instead of trying to derive it from (non-existent at that point) static mesh's render data.

- James Singer reviewed the fixed change.

#rb Brian.Marshall1, Francis.Hurteau, Benn.Gallagher, James.Singer

[CL 30857184 by arciel rekman in ue5-main branch]
2024-01-24 14:43:39 -05:00
sean boocock
1229fccd3c [Backout] - CL30812030
[FYI] Arciel.Rekman
Original CL Desc
-----------------------------------------------------------------
Fix inability to cook spline meshes by a cooked cooker.

Cooked cooker is a relatively new platform in Unreal that allows producing a cooked editor build and using it to cook new assets (e.g. DLC for the base game). Such cooked cooker build is faster to load than the original editor build that would cook from the source assets, and it can also be more easily deployed to cloud environments.

The problem this fix is solving is as follows:

1) Spline mesh needs collision data from the static mesh it deforms. This collision data is usually derived from its render data.
2) Cooked cooker target platform (see TCookedCookerTargetPlatform) is basically a server build, assets cooked for this platform do not store render data.
3) If a new (uncooked) spline mesh is referencing a static mesh from the base build, it fails to get its collision data because the render data was stripped when producing the cooked version of the base build.

The solution is

- to introduce a new target platform feature that allows to distinguish cooked cooker target platform from other platforms that strip audio-visual data.
- when cooking static meshes for a "cooked cooker" target get a separate copy of the asset's collision data and save it inline in the cooked asset.
- inside the cooked cooker, use this copy as static mesh's collision data instead of trying to derive it from (non-existent at that point) static mesh's render data.

#rb Brian.Marshall1, Francis.Hurteau, Benn.Gallagher

[CL 30847941 by sean boocock in ue5-main branch]
2024-01-24 11:44:40 -05:00
arciel rekman
7cd1420836 Fix inability to cook spline meshes by a cooked cooker.
Cooked cooker is a relatively new platform in Unreal that allows producing a cooked editor build and using it to cook new assets (e.g. DLC for the base game). Such cooked cooker build is faster to load than the original editor build that would cook from the source assets, and it can also be more easily deployed to cloud environments.

The problem this fix is solving is as follows:

1) Spline mesh needs collision data from the static mesh it deforms. This collision data is usually derived from its render data.
2) Cooked cooker target platform (see TCookedCookerTargetPlatform) is basically a server build, assets cooked for this platform do not store render data.
3) If a new (uncooked) spline mesh is referencing a static mesh from the base build, it fails to get its collision data because the render data was stripped when producing the cooked version of the base build.

The solution is

- to introduce a new target platform feature that allows to distinguish cooked cooker target platform from other platforms that strip audio-visual data.
- when cooking static meshes for a "cooked cooker" target get a separate copy of the asset's collision data and save it inline in the cooked asset.
- inside the cooked cooker, use this copy as static mesh's collision data instead of trying to derive it from (non-existent at that point) static mesh's render data.

#rb Brian.Marshall1, Francis.Hurteau, Benn.Gallagher

[CL 30812215 by arciel rekman in ue5-main branch]
2024-01-23 13:58:58 -05:00
florian penzkofer
f0d3b0bf34 Add support for DBuffer decals to the mobile forward renderer.
The DBuffer layout and most code is the same as for the desktop renderer.
Added new CVar r.Mobile.DBuffer so that is disabled by default. DBuffer for the SM5 renderer on mobile is enabled by default.

#rb Dmitriy.Dyomin, Sebastien.Hillaire

[CL 28598190 by florian penzkofer in ue5-main branch]
2023-10-09 16:48:41 -04:00
aleksander netzel
d700a739fa Add offline BLAS compression for supporting platforms:
* Add IsCompressed() to FRHIRayTracingGeometry.
* If BLAS is compressed it will trigger a build that will do the decompression.
* Controlled by target platform setting "Enable Static Mesh Offline BVH Compression"
* Enabled by default.

#jira UE-146162
#rb yuriy.odonnell

[CL 26559972 by aleksander netzel in ue5-main branch]
2023-07-24 20:01:35 -04:00
eric knapik
6c7224f931 #jira: FORT-509651
Add new interface function AllowsDevelopmentObjects to ITargetPlatform
This function makes a clearer distinction for what assets will be considered development vs what assets should be considered EditorOnly
A platform should be allowed to cook editor only objects but not development. The inclusion of AllowsDevelopmentObjects creates that distinction

[REVIEW] [at]Bob.Tellez, [at]Josh.Adams, [at]Graeme.Thornton, [at]Matt.Peters
#preflight 63601c7b4e6fb7f504a7d311

[CL 22917958 by eric knapik in ue5-main branch]
2022-11-02 11:46:13 -04:00
Zak Middleton
73efd27f6c #ue5 - Truncation fixes for modules:
StatsViewer
StatusBar
TargetDeviceServices
TargetPlatform
Teleporter
TimeManagement
TranslationEditor
ViewportInteraction
Virtualization
WindowsPlatformFeatures
WindowsTargetPlatform

#jira UE-160837, UE-160843
#rb Andrew.Davidson, Dave.Jones2
#preflight 636024751c75ff834a526197

[CL 22873932 by Zak Middleton in ue5-main branch]
2022-10-31 18:33:27 -04:00
david harvey
10b05a8cf3 Capture platform-specific project analytics for launching, cooking & packaging in the editor.
#jira UE-142191
#rb Brian.White, Wojciech.Krywult
#preflight 6319a11bd135b61bc5f729c9

[CL 21907474 by david harvey in ue5-main branch]
2022-09-08 19:33:14 -04:00
brian white
96026b3ca9 Add Project Launcher Profile setting for Original Release Version to support those platforms that need it (in addition to the Based On Release Version setting). The setting will only appear for those platforms that opt-in via the platform specific version of FGenericPlatformProperties.
#jira UE-155733
#rb David.Harvey Wojciech.Krywult
#preflight https://horde.devtools.epicgames.com/job/630e11c4501b64ba333ffca8
#rnx

[CL 21700049 by brian white in ue5-main branch]
2022-08-30 10:10:23 -04:00
serge bernier
77a2d486ea -Use Depth and velocity pass on Xb1 and Ps4 (VelocityParallel).
- Saves ~0.3ms on PS4/XB1 (Dynres = 100%).
-Add possibility to disable grass velocity output when WPO velocity is enable (only effective when r.velocity.enablevertexdeformation != 0 and r.OptimizedWPO = true)

#rb [at]jeremy.moore

[CL 21524947 by serge bernier in ue5-main branch]
2022-08-23 19:21:36 -04:00
christopher waters
0be910ed72 Adding SupportsRayTracing to platform properties. This is checked in addition to the project/platform settings for RayTracing but is opt-in per platform instead of always enabled if the setting is enabled.
This has the effect of reducing the number of platforms that say they support RayTracing which directly reduces the number of shader platforms that "support" RayTracing.

#jira none
#rb yuriy.odonnell
#preflight 62f43891b43215cf6c35e4b0

[CL 21391739 by christopher waters in ue5-main branch]
2022-08-15 15:16:19 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00
Dmitriy Dyomin
f00c0a426b Remove support for a landscape baked mesh which was used for mobile platforms only
#jira none
#rb jonathan.bard
#preflight 62d769cdbc175ec68cee67d0

[CL 21171586 by Dmitriy Dyomin in ue5-main branch]
2022-07-19 23:03:12 -04:00
jimmy smith
d3450e7b27 Fix for nounity CIS in TargetPlatformBase.h
#rnx
#preflight none

[CL 21154764 by jimmy smith in ue5-main branch]
2022-07-18 19:29:34 -04:00