Commit Graph

554 Commits

Author SHA1 Message Date
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
peter tarasenko
a600000eb3 nDisplay: Fixed crash when the light card editor is open and user changes nDisplay Preview's "Viewports per frame"
#jira UE-153864
#rb Alejandro.Arango, Vitalii.Boiko
#preflight 6296aa693015892cc0734de5

[CL 20444807 by peter tarasenko in ue5-main branch]
2022-05-31 20:01:38 -04:00
Alejandro Arango
8565b40d2b nDisplay: Made the distance from flush a settable property of the light cards called "RadialOffset".
#rb
#jira
#preflight 629570b391004dd61ca8cc20

[CL 20433675 by Alejandro Arango in ue5-main branch]
2022-05-30 21:39:49 -04:00
Alejandro Arango
14bb250d32 ColorCorrectRegions: Added billboard.
Used a slightly modified version of the place actor icon for now.

Also updated a couple of raw pointers to TObjectPtr in nDisplay Light Card Actor.

#rb
#jira
#preflight 629477b57149e31ace60bea9

[CL 20429103 by Alejandro Arango in ue5-main branch]
2022-05-30 03:57:59 -04:00
Alejandro Arango
6919f80d49 nDisplay: Added Gain to light card parameters. Exposure is 2^n while Gain a is linear multiplier to RGB.
#rb
#jira UE-132458
#preflight 6294405e7149e31ace3c7ccd

[CL 20428487 by Alejandro Arango in ue5-main branch]
2022-05-30 00:00:25 -04:00
Alejandro Arango
95bcd39416 nDisplay: Added alpha gradient with angle and start/end values to light cards.
#rb
#jira UE-154142
#preflight 629360f13d25c726e801c96e

[CL 20424987 by Alejandro Arango in ue5-main branch]
2022-05-29 08:18:00 -04:00
Alejandro Arango
0403ed5ac5 nDisplay: Added Tint and Temperature to light cards.
#rb
#jira UE-152636
#preflight

[CL 20424853 by Alejandro Arango in ue5-main branch]
2022-05-29 04:57:40 -04:00
Alejandro Arango
965d22aec4 nDisplay: Added some support for feathering when using custom polygon light cards.
The current method is erosion followed by blur of the inverted alpha.

#rb
#jira
#preflight 6291f2c2db0a62f25c013e08

[CL 20405864 by Alejandro Arango in ue5-main branch]
2022-05-28 06:13:55 -04:00
trystan binkley-Jone
ab20fc60ca nDisplay: Added context menus to the light card list view and the 3D viewport, which contain common editing commands like copy and paste; users can now copy and paste light cards in either view, as well as use common keyboard shortcuts. Also replaced all light card types with specific ADisplayClusterLightCardActor references, as we were implicitly making the assumption all light cards were of that type, but rarely enforcing it
#jira UE-152646
#rb Patrick.Hardy, Alejandro.Aranjo
#preflight 629156f3532586228db0e6a0

[CL 20400812 by trystan binkley-Jone in ue5-main branch]
2022-05-27 19:04:14 -04:00
Alejandro Arango
3de3ec90cb nDisplay: Light card world placement when drawn on the viewport was improved to be based on world positions instead of screen space positions.
This makes it independent of the map projection.

#jira
#rb
#preflight 62906003f6668c14a3c0c019

[CL 20390390 by Alejandro Arango in ue5-main branch]
2022-05-27 01:30:16 -04:00
Leon Huang
19877e39c5 Fix for duplicate localization key warnings and missing localization defines/undefines in various files.
#rnx
#rb: Vincent.Gauthier
#jira: UE-151614
#preflight: 628fc4a98c23e52ef0fdfa7d

[CL 20384450 by Leon Huang in ue5-main branch]
2022-05-26 16:11:10 -04:00
Guillaume Abadie
bbb8d0e2c8 Rewrites dynamic resolution on top of the DynamicRenderScaling API
#rb none
#jira UE-152561
#preflight 628f43e6f622d972b5cb4f2f

[CL 20377247 by Guillaume Abadie in ue5-main branch]
2022-05-26 05:34:08 -04:00
Alejandro Arango
32e241df8f nDisplay: Optimized spin value to minimize area of light card for a given polygon.
This improves the visual quality of the light card. And you end up with smaller light cards.

#rb
#jira
#preflight 628ee9a2f622d972b5b0024a

[CL 20375537 by Alejandro Arango in ue5-main branch]
2022-05-25 23:02:08 -04:00
Alejandro Arango
863164a53b nDisplay: Added ability to draw lightcards on viewport using polygons.
To use, click on the viewport "Draw LC" button, then click on the viewport at the locations where the polygon vertices should exist, then end the polygon with right mouse button. Or abort by toggling the "Draw LC" button.

The polygon is saved in an array in the light card, and is used to generate an alpha texture. This alpha texture is independent of the color texture. This alpha texture is generated dynamically, so there is no need to save it as an asset.

The default generated alpha texture dimensions is 128x128, but can be changed with DC.LightCardPolygonTextureSize.

Currently there is visual indication of the drawing process (other than the mouse becoming a cross and the Draw LC button being highlighted).

#rb trystan.binkley-jone, patrick.hardy
#jira

#preflight 628ec2c289000256cea3ba07

[CL 20373874 by Alejandro Arango in ue5-main branch]
2022-05-25 20:05:36 -04:00
jason hoerner
0267d53323 DisplayCluster: Virtual Shadow Map cache can optionally be allocated per view, and enabled that feature for Virtual Production. Significant performance win by avoiding constant cache thrashing when rendering multiple families. Frame time goes from ~45 ms to ~26 ms for Valley test scene (Node 2), GPU bound in both cases. Separate cache per view isn't implemented for split screen views (single view family with multiple views), but Virtual Production doesn't use that, and support for that could be added in the future.
#jira UE-142732
#rb andrew.lauritzen ola.olsson
#preflight 628d06a45c3ef99a7b2fffa3

[CL 20351116 by jason hoerner in ue5-main branch]
2022-05-24 13:17:13 -04:00
Alejandro Arango
f7b0259a60 nDisplay: Increased LC rotator circle radius and thickness.
Felt it needed to be a bit bigger for ease of use and rotation precision.

#rb
#jira
#preflight

[CL 20313517 by Alejandro Arango in ue5-main branch]
2022-05-21 18:07:12 -04:00
Alejandro Arango
6985fc25c6 nDisplay: Re-enabled eye adaptation on previews.
This makes the LC Editor / Stage Operator Panel look correct.

#rb
#jira
#preflight

[CL 20313262 by Alejandro Arango in ue5-main branch]
2022-05-21 17:51:20 -04:00
Alejandro Arango
3ad7b8e179 nDisplay: Fix LC Editor proxy DCRA trying to force origin location of LCs in the level.
#jira
#rb
#preflight 628812e418407ba374b256c5

[CL 20304464 by Alejandro Arango in ue5-main branch]
2022-05-20 18:29:01 -04:00
zach bethel
c176b233da Renamed CopyTextureWithTransitions to TransitionAndCopyTexture.
#preflight 6287ddfe8828ea88c8701eea

[CL 20303093 by zach bethel in ue5-main branch]
2022-05-20 17:14:41 -04:00
Alejandro Arango
85f548e67a nDisplay: Behavior of moving groups of cards is now more intuitive.
* Fixed sudden spins of lightcards when pushing gizmo near the north and south poles in the LC Editor.
* Fixed translation jumps of grouped LCs when primary one passes through poles in the LC Editor.
* Changed LC positional parameters from float to double

#jira
#rb trystan.binkley-jone
#preflight 6287c9996c7692ac8cc7eac6

[CL 20298457 by Alejandro Arango in ue5-main branch]
2022-05-20 13:41:30 -04:00
trystan binkley-Jone
343fd8a99b nDisplay: Added logic to the light card actor's tick that locks its world position and rotation to the stage actor that "owns" the light card.
#jira UE-147806
#rb Patrick.Hardy, Alejandro.Arango
#preflight 6287be9e5b568e5761fc9ad4

[CL 20297055 by trystan binkley-Jone in ue5-main branch]
2022-05-20 12:39:33 -04:00
Vitalii Boiko
7771002d7a nDisplay: improved global controls over color grading parameters for the viewports and incamera
#jira UE-146101
#rb trivial
#preflight none

[CL 20269455 by Vitalii Boiko in ue5-main branch]
2022-05-18 18:03:21 -04:00
Alejandro Arango
60d6e7e3d4 nDisplay: Added opacity parameter to preview material. Disabled preview has now 50% transparency.
With this change, a disabled preview is no longer fully blocking the view.

#jira
#rb
#preflight 6284918bf669ec590287b6d1

[CL 20257966 by Alejandro Arango in ue5-main branch]
2022-05-18 02:31:31 -04:00
Alejandro Arango
589a706995 nDisplay: Lightcards can now be moved w/o apparent spin when using the widget center.
This is particularly useful when nudging the lightcards around the center of the ceiling.

This spin compensation is not activated when using the lat/long axes individually.

#jira
#rb trystan.binkley-jone
#preflight 628469dff669ec590276baa2

[CL 20255919 by Alejandro Arango in ue5-main branch]
2022-05-17 23:40:53 -04:00
trystan binkley-Jone
caf18ef0bf nDisplay: Added rotation mode to Light Card Editor widget that allows users to change the spin of the selected light cards by clicking and dragging on the widget. Also fixed issue where axes of widget weren't rendering in the right direction in azimuthal projection mode.
#jira UE-152622
#rb Patrick.Hardy, Alejandro.Arango
#preflight 62845e1bf669ec59027353c2

[CL 20255330 by trystan binkley-Jone in ue5-main branch]
2022-05-17 22:58:35 -04:00