Commit Graph

150 Commits

Author SHA1 Message Date
tiago costa 03f7f8f626 Call FRayTracingGeometry::IsValid() instead of just checking that RayTracingGeometryRHI is not null
[FYI] aleksander.netzel

[CL 31840561 by tiago costa in ue5-main branch]
2024-02-27 10:26:42 -05:00
steve robb f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
marc audy 19e84555b3 Silence PVS warnings
[CL 30653812 by marc audy in ue5-main branch]
2024-01-17 01:34:02 -05:00
zach bethel 29f735f4a3 Modified scene proxy GetDynamicMeshElements calls to take a local command list instead of relying on the immediate command list and defer uniform expression cache invalidations.
- Calls to FRHICommandListImmediate::Get() replaced with Collector.GetRHICommandList()

#jira UE-194426

[CL 27813729 by zach bethel in ue5-main branch]
2023-09-12 18:32:22 -04:00
tiago costa bdd2a715c3 Refactor RayTracingGeometry initalization in a few proxies to not modify FRayTracingGeometry::Initializer directly.
- some foundation work towards making FRayTracingGeometry::Initializer private.

#rb aleksander.netzel

[CL 27688695 by tiago costa in ue5-main branch]
2023-09-07 17:03:52 -04:00
bryan sefcik 64f140d78d Added shader.build.cs file.
Updated build.cs files to use new shader module.

#jira
#rb Joe.Kirchoff and guillaume.abadie

[CL 26664107 by bryan sefcik in ue5-main branch]
2023-07-27 22:53:25 -04:00
zach bethel aa1b0c680f Deprecated non-command list RHI methods.
- RHICreate{Vertex, Index, Structured}Buffer
 - RHICreate{ShaderResource, UnorderedAccess}View
 - RHIUpdateUniformBuffer
 - Various initialization / locking methods for helper buffer types in RHIUtilities.h

The goal is to continue to force resource creation through command lists to avoid surprises with moving things off the render thread.

#rb christopher.waters

[CL 26183242 by zach bethel in ue5-main branch]
2023-06-22 11:08:27 -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
Ryan Kautzman 4dc1f0ace9 Add command for creating selections of tetrahedra. Current supported critera includes by volume less than threshold, by aspect ratio greater than threshold, and by X/Y/Z coordinate less than or greater than some specified number. Command also supports authoring a TSet of tetrahedra on the Flesh component to skip during rendering.
#rb: Brice.Criswell
#fyi: Brice.Criswell, Yushan.Han, Yizhou.Chen
#preflight: 6414ebed691c5ebc15c21f91

[CL 24700316 by Ryan Kautzman in ue5-main branch]
2023-03-17 20:07:01 -04:00
henrik karlsson 3c9aacb1ad [Engine/Plugins]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63c08f4a2a6acaf1622bcc73
#rb none

[CL 23674775 by henrik karlsson in ue5-main branch]
2023-01-13 01:54:01 -05:00
henrik karlsson 68e1306935 [Engine/Plugins]
* Removed more includes using iwyu and marked up includes that is removed because of bugs in iwyu.

#preflight 63bfc8696c4f5668eb3a3cbd
#rb none

[CL 23666746 by henrik karlsson in ue5-main branch]
2023-01-12 13:53:03 -05:00
henrik karlsson 2f78497e67 [Engine/Plugins]
* Updated private files with IWYU for all plugins which had 3 or less changes made in ue5 main since last integration to fn

#preflight 63bf8d8b577437afe607dc72
#rb none

[CL 23659643 by henrik karlsson in ue5-main branch]
2023-01-12 01:48:34 -05:00
christopher waters 8fd10b0e13 Dependency cleanup around some Rendering headers.
#preflight 63b893e547321b9d895924b0

[CL 23605570 by christopher waters in ue5-main branch]
2023-01-06 18:57:09 -05:00
christopher waters f8abec7a8e Material header dependency cleanup
- Removing MaterialAttributeDefinitionMap and MaterialRenderProxy from MaterialShared.h
- Removing MaterialShared from Material.h

#preflight 639cbb35776b61ba3b82f03e

[CL 23541603 by christopher waters in ue5-main branch]
2022-12-16 16:24:02 -05:00
christopher waters 7215f7d4ec Fully moving MaterialDomain to its own header.
#jira none
#preflight 639b4dc335203bc7aa695078

[CL 23531533 by christopher waters in ue5-main branch]
2022-12-15 16:01:51 -05:00
tiantian xie 70c2dba8c0 Move RayTracingInstance.h and RayTracingInstance.cpp from Engine module the Renderer module.
* Remove the need to call BuildInstanceMaskAndFlags(), BuildRayTracingInstanceMaskAndFlags() manually in GetXXRayTracingInstance(). They will be called in the renderer module. All functions manually called has been removed.
* Remove the RENDER_API public api for those functions, as they cause link error in the Engine module (where the header is included in the Engine build file for static library link. the RENDERER_API is interpreted as dllimport, which will not link the functions in RayTracingInstance.cpp) and there is no need to call them outside of renderer module.
* A callback function is added to FRayTracingInstance, use it for RaytracingInstanceMaskandFlags caching.

Note: this is a first step to separate the instance mask between RayTracing and PathTracing, where PathTracing uses a totally different instance mask. This cleanup is un-avoidable if we want to keep rendering related code in the renderer module.

#rb Yuriy.ODonnell
#jira UE-172742
#preflight 6399002f2960b732202acc7c

[CL 23514248 by tiantian xie in ue5-main branch]
2022-12-14 13:16:33 -05:00
scott nelson b2c1e9ff53 Fix issue where Static Mesh's created via animation tool defaulted to Game/Meshes when that may not be a valid folder
#rb Rex.Hill
#preflight 638e8e15255f07df8eb53dbb

[CL 23421931 by scott nelson in ue5-main branch]
2022-12-06 19:50:06 -05:00
Jeremy Moore a7bbd9125a #jira UE-167164
Make ProceduralComponent honor the bReceivesDecals setting.
#preflight 638128b4170bc34a93c76a01

[CL 23268899 by Jeremy Moore in ue5-main branch]
2022-11-25 15:57:27 -05:00
jimmy andrews 025a94b641 Allow caller to choose whether to perform sRGB conversion for ProceduralMeshComponent's CreateMeshSection and UpdateMeshSection functions.
To keep current results unchanged, set the default behavior for the two functions to be different (Create doesn't convert, Update does)

#rb rinat.abdrashitov
#preflight 6334a2e4f418a1071a2efa56
#jira UE-157225

[CL 22264087 by jimmy andrews in ue5-main branch]
2022-09-30 01:37:22 -04:00
bryan sefcik 50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
Martin Sevigny e97ebcffd6 Fix formatting of string literals that could crash the engine.
#rb Sebastian.Thomeczek
#preflight none
#jira none

[CL 21486663 by Martin Sevigny in ue5-main branch]
2022-08-22 13:31:54 -04:00
Jeremy Moore ff967b1163 Remove PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY and only use PRIMITIVE_SCENE_DATA_FLAG_OUTPUT_VELOCITY.
Tidy up use of FPrimitiveSceneProxy velocity getters.
Now DrawsVelocity() is only for velocity relevance.
And HasDynamicTransform() is for determining if we need to store previous transform state.
VSM caching was using PRIMITIVE_SCENE_DATA_FLAG_DRAWS_VELOCITY so replaced that with PRIMITIVE_SCENE_DATA_FLAG_SHOULD_CACHE_SHADOW which should use the old behavior and can be tweaked in future using ShouldCacheShadow().

A common pattern for determining whether to output velocity now is to check if a previous transform exists, and to OR in AlwaysHasVelocity().
I found some proxy types that don't check for previous transform.
Also I found that the debug physics aggregate types *never* check for previous transform.
These are pre-existing potential bugs for fixing in another pass.

Also I found some proxies that don't currently fill out velocity relevance.
These are pre-existing potential bugs for fixing in another pass.

#preflight 62863f789016c6dd897f1cd2
#fyi andrew.lauritzen

[CL 20279797 by Jeremy Moore in ue5-main branch]
2022-05-19 10:08:15 -04:00
Matt Peters d64cf41728 AssetRegistry includes (Engine Plugins): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270563191629533ec2b6f6e

[CL 20017756 by Matt Peters in ue5-main branch]
2022-05-02 18:59:38 -04:00
danny couture 6c39082623 Add support for bodysetup trimesh estimates for all implementation of IInterface_CollisionDataProvider
#rnx
#rb Francis.Hurteau
#preflight 6262f0e0cf17922036d8c942

[CL 19876901 by danny couture in ue5-main branch]
2022-04-22 19:20:37 -04:00
fred kimberley 7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build

#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824721 by fred kimberley in ue5-main branch]
2022-02-02 07:59:31 -05:00