Commit Graph

28 Commits

Author SHA1 Message Date
matija kecman
e5cd54f37d Render Capture Baking: Refactor render capture evaluator, to better support analytics and address some tech debt
#rb lonnie.li
#rnx
#jira none
#preflight 629f78d3410219bf1b2e4eee

[CL 20540003 by matija kecman in ue5-main branch]
2022-06-07 12:31:42 -04:00
matija kecman
c5bc05a109 Render Capture Baking: Add a method exposing the evaluator data layout
This will be useful for the (upcoming) RenderCaptureMapEvaluator as it allows a pointer to the FMeshMapEvaluator base class to be statically cast to the right type even though that Evaluator must be a template class. Without this method we can't cast the base class pointer since we don't know the template parameter, but we want the template so that EvaluateSample can be branch free which is desirable since its called in hot loops

#rb lonnie.li
#rnx
#jira none
#preflight 629f2e39f73a9b013d9e9eb0

[CL 20538179 by matija kecman in ue5-main branch]
2022-06-07 10:50:05 -04:00
nuno leiria
6e1db907ec Misc fixes for console module builds
#preflight 6282fd37ed2c0847b0fc24ca
#rb david.harvey

[CL 20239787 by nuno leiria in ue5-main branch]
2022-05-17 05:24:02 -04:00
matija kecman
b47e74f1a8 Render Capture Baking: Move visibility raycast from evaluators to detail sampler
Benchmark configuration:
- Test scene with 4 meshes: a mossy stone nanite mesh, a beach ball, a ball with an emissive blue cross and a hut mesh
- Target mesh: 11.8k triangles mesh, created by voxel wrapping the meshes in the test scene elements
- 4096x4096 output texture with 16x multisampling baking BaseColor, Emissive, PackedMRS and Normal maps
- 4096x4096 photo capture resolution

Unreal Insights reports the following times for the Bake call:
- Before this change: 2 mins 45 seconds
- After this change: 55.9 seconds

Aside: (Unaffected by this change) In both cases the photo capture, which is done on the game thread, took about 1 min

#jira none
#rb
#rnx
#preflight 627e64e01748fbc85bb24a42

[CL 20221383 by matija kecman in ue5-main branch]
2022-05-16 05:13:25 -04:00
matija kecman
998174e108 Render Capture Baking: Reimplement infill in new baking framework using callbacks
#rb lonnie.li
#rnx
#preflight 627a5feffc07e0a9b4fda490
#jira none

[CL 20121863 by matija kecman in ue5-main branch]
2022-05-10 09:01:17 -04:00
matija kecman
929525effb Render Capture Baking: Support correspondence sample validity checking, use BSpline filtering and enable multisampling
#rb lonnie.li
#rnx
#jira none
#preflight 6262d4dbd558dfdec3934905

[CL 19899614 by matija kecman in ue5-main branch]
2022-04-25 05:41:52 -04:00
matija kecman
c0d9ee0a19 MeshMapBaker: Some refactoring/clarification
#rb lonnie.li
#rnx
#jira none
#preflight 625edf049c09ef439d98e141

[CL 19811589 by matija kecman in ue5-main branch]
2022-04-19 13:09:19 -04:00
matija kecman
9717d7fa19 Modeling Tools: Fix some incorrect comments
#rb lonnie.li
#rnx
#jira none
#preflight 625e77029c09ef439d8b5c4b

[CL 19805534 by matija kecman in ue5-main branch]
2022-04-19 05:05:04 -04:00
lonnie li
6d9773bf8d ModelingTools: Add support for blending when evaluating SampleFilterMask in BakeTexture/BakeAll
#rb jimmy.andrews
#jira none
#preflight 62576e3e1543022eed57ee1c

[CL 19749341 by lonnie li in ue5-main branch]
2022-04-13 21:13:17 -04:00
lonnie li
4c27f65167 ModelingTools: Add SampleFilterMask support for BakeTexture/BakeAll.
#rb jimmy.andrews
#jira none
#preflight 6255f5b2c65e9671cf8ee811

[CL 19731154 by lonnie li in ue5-main branch]
2022-04-12 18:19:08 -04:00
matija kecman
bd1ff96e3e Render Capture Baking: Use new baking framework
#rb lonnie.li
#rnx
#jira none
#preflight 6255d700ed176258e5e26227

[CL 19727518 by matija kecman in ue5-main branch]
2022-04-12 16:02:24 -04:00
lonnie li
52797a98be ModelingTools: Add support for Object space source normal maps to BakeTexture.
#rb jimmy.andrews matija.kecman
#jira none
#preflight 620ffdc64d39023e82a40fa2

[CL 19056004 by lonnie li in ue5-main branch]
2022-02-18 15:34:48 -05:00
lonnie li
93574de8d4 GeometryScript: Add BakeTexture support to GeometryScript.
#rb michael.balzer
#rnx
#jira none
#preflight 620427cfd619b08d92f8349f

[CL 18924394 by lonnie li in ue5-main branch]
2022-02-09 16:17:31 -05:00
lonnie li
8e197859df ModelingTools: Fix texture filtering into neighboring charts for tightly packed UV shells.
#rb jimmy.andrews michael.balzer
#rnx
#jira none
#preflight 61bbb2868a62de8385c38473

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18480102 in //UE5/Release-5.0/... via CL 18481553
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481825 by lonnie li in ue5-release-engine-test branch]
2021-12-16 19:57:29 -05:00
lonnie li
18bf5bd184 ModelingTools: Minor Bake tools rename pass.
#rb trivial
#rnx
#jira none
#preflight 619ed10b801b361978d28665

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18290923 in //UE5/Release-5.0/... via CL 18290931
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18290938 by lonnie li in ue5-release-engine-test branch]
2021-11-24 19:19:10 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
lonnie li
811419e1eb Fix TMeshSurfaceUVSampler compile error (temp fix until LWC FVector2)
#rb trivial
#rnx

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18150967 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)

[CL 18150972 by lonnie li in ue5-release-engine-test branch]
2021-11-11 10:19:09 -05:00
lonnie li
e1c4ca298e ModelingTools: Default initialize MeshSurfaceSampler
#rb trivial
#rnx
#jira none
#preflight 618d1ae84927de059d6421e7

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18150256 in //UE5/Release-5.0/... via CL 18150498
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18150517 by lonnie li in ue5-release-engine-test branch]
2021-11-11 09:45:11 -05:00
lonnie li
5abfa622a6 ModelingTools: Add analytics to BakeVtx.
#rb matija.kecman
#rnx
#jira none
#preflight 6181660efc786a0001494c4a

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18022190 in //UE5/Release-5.0/... via CL 18022300
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18022393 by lonnie li in ue5-release-engine-test branch]
2021-11-02 13:59:11 -04:00
lonnie li
1a58daa8ac ModelingTools: Add analytics to BakeTx and BakeAll.
#rb michael.balzer
#rnx
#jira none
#preflight 618156394d1db700016f18b7

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18022043 in //UE5/Release-5.0/... via CL 18022262
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18022377 by lonnie li in ue5-release-engine-test branch]
2021-11-02 13:58:07 -04:00
lonnie li
b9e683b2a7 ModelingTools: Fix crash in BakeVertex tool.
- Fix curvature settings in BakeVertex in per-channel mode.
- Fix erroneous ensure when in Identity correspondence mode.
- Remove remnants of previous Detail mesh system.
- Minor FMeshMapBaker interface updates.

#rb trivial
#rnx
#jira none
#preflight 6142689b3c7c670001add3ce

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17530703 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17530722 by lonnie li in ue5-release-engine-test branch]
2021-09-15 20:13:36 -04:00
lonnie li
90f5344d22 ModelingTools: Add N-to-1 detail mesh bake tool
- Added new FindNearestHitTriangle overload with bary coords.
- Refactored BakeMeshAttributeMapsTool into common base class with new MultiMesh (N-to-1) variant.
- Extended MeshDescriptionAdapter to support UVs.
- Added new queries on IMeshSpatialWrapper for mesh attributes.

#rb ryan.schmidt
#rnx
#jira UETOOL-3395
#preflight 613fb4c3a70fa0000131ff77

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17497155 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17497176 by lonnie li in ue5-release-engine-test branch]
2021-09-13 17:51:19 -04:00
lonnie li
7b0c2454ee ModelingTools: Bake tool detail mesh sampling abstraction
- Refactored direct detail mesh sampling queries into an abstract base interface for repurposing to alternative detail mesh constucts other than DynamicMesh3 (including N-to-1).
- Move IsTriangle tests out of evaluators and into the core bake loop.

#rb jimmy.andrews
#rnx
#jira UETOOL-3395
#preflight 6137d813d9c85a000150d95a

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17451759 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17451812 by lonnie li in ue5-release-engine-test branch]
2021-09-07 19:06:34 -04:00
lonnie li
100aa29635 ModelingTools: Add Normal Map transfer support to BakeTexture.
#rb michael.balzer
#rnx
#jira UETOOL-3396
#preflight 612e6a89b6b29c0001f163dc

#ROBOMERGE-SOURCE: CL 17375524 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17375540 by lonnie li in ue5-release-engine-test branch]
2021-08-31 15:23:35 -04:00
ryan schmidt
e3183cb1e7 GeometryProcessing: clean up mesh timestamps.
- remove FDynamicMesh3::Timestamp (unused), rename Shape/Topology Timestamps to Shape/TopologyChangeStamp, change to atomic<uint32>
- add FDynamicMesh3::bEnableShapeChangeStamp, default to false, to disable ShapeChange tracking. Add ::SetShapeChangeStampEnabled() and ::HasShapeChangeStampEnabled() to configure.
- replace FDynamicMesh3::UpdateTimestamps() with UpdateChangeStamps()
- add bTrackChange param to FDynamicMesh3::SetVertex(), optionally updates ShapeChangeStamp (if enabled). Default true. Remove SetVertex_NoTimeStampUpdate(), update call sites.
- add FDynamicMesh3::GetChangeStamp(), returns combination of Shape and Topology stamps as uint64
- rename TTriangleMeshAdapter::GetTimestamp() to GetChangeStamp(), update usages
- remove TPointSetAdapter::Timestamp()   (was not used in code)
- update TMeshAABBTree3 to use GetChangeStamp(), update internal checks to call IsValid() instead
- update TFastWindingTree w/ similar changes
- update calls in UVEditor, may require further updates
#rb semion.piskarev
#rnx
#jira none
#preflight 6126904c72e9eb00011434fe

#ROBOMERGE-SOURCE: CL 17310271 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17315112 by ryan schmidt in ue5-release-engine-test branch]
2021-08-26 06:57:55 -04:00