all the voxels in a block far from the mesh surface should share the same state (inside or outside) for water-tight meshes, but the counting method used for sign assignment may produce odd results for non water-tight meshes where the block may have both inside and outside elements. this change accounts for that behavior.
#preflight 629528bc91004dd61c9d6b00
#rb Tyson.Brochu
[CL 20438913 by David Hill in ue5-main branch]
1. Actually use the SpatialLevels argument
2. Only allow early stopping at level boundaries, so the priority ordering can properly sort points at the same spatial level. Fixes points being spatially clumped when early stopping is enabled.
3. Stop referring to some of the importance weights as "curvature" (we often weight by things other than curvature)
4. Expose OffsetResFactor to allow more control of how clumpy the distribution is (value was hardcoded at 4, but I think 1 or 2 tends to space things better)
#rb david.hill
#preflight 628fb6d48c23e52ef0fbec28
[CL 20381323 by Jimmy Andrews in ue5-main branch]
Should be faster in most practical cases, though can be slower if an inserted edge must cross a lot of existing edges.
#rb rinat.abdrashitov
#preflight 62845c74ac1a933d478fcc0b
[CL 20261922 by Jimmy Andrews in ue5-main branch]
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]
unittests are included for the blocked grids and sdf generation, as well as benchmarks for sdf generation.
( This CL flushes out an old shelf of Ryan's.)
#preflight 62713371fe09c0cfbc3719a1
#rb Tyson.Brochu
[CL 20042490 by David Hill in ue5-main branch]
Update Arrangement2d's triangulation functions to use that fill mode, and also to be explicit about whether the boundary group is expected or not
#rb david.hill
#rb rinat.abdrashitov
#preflight 6269606c8c2782e4f2327a34
[CL 19941732 by Jimmy Andrews in ue5-main branch]
GeometryProcessing: add TImageBuilder::NearestSampleUV() function to simplify nearest sampling
#preflight 62682fc8430b9997ebe6a47d
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 19928418 via CL 19928912 via CL 19929469
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 19931478 by ryan schmidt in ue5-main branch]
- Constrained edges along a boundary are allowed to collapse, and vertices are allowed to move, but they are projected back to the original boundary curve geometry
- Additionally, vertices at boundary "corners" (defined using an angle threshold criterion) are constrained to not move or be deleted
#jira UE-149616
#rb rinat.abdrashitov
#preflight
#preflight 6262dc97e87284a93cd6bd44
[CL 19867177 by tyson brochu in ue5-main branch]
Deprecation of FPlatformMath::IsNegative*() functions.
New FPlatformMath::IsNegativeOrNegativeZero().
Fix up of existing usage to either use < 0 or IsNegativeOrNegativeZero where appropriate.
Fixes for aliasing problems in various FMath functions, including IsNegative*().
Resubmission of CL# 19833778 with fixes for problematic Mac and Android toolchains, causing spurious errors while building PCHs.
#rb devin.doucette, charles.bloom, will.damon, chris.babcock
#jira UE-148435
#preflight 6260764d91376845adf9893f
[CL 19840896 by Steve Robb in ue5-main branch]
Deprecation of FPlatformMath::IsNegative*() functions.
New FPlatformMath::IsNegativeOrNegativeZero().
Fix up of existing usage to either use < 0 or IsNegativeOrNegativeZero where appropriate.
Fixes for aliasing problems in various FMath functions, including IsNegative*().
#rb devin.doucette, charles.bloom
#jira UE-148435
#preflight 625ece48f16e0d2accab15d9
[CL 19833778 by Steve Robb in ue5-main branch]
Avoids overflow errors from msvc for certain target configurations.
#jira none
#rb halfdan.ingvarsson
#rnx
#preflight 625dfa31b72cfbaf9626f1f4
[CL 19798652 by jonathan adamczewski in ue5-main branch]