Commit Graph

427 Commits

Author SHA1 Message Date
christopher waters
447bc4c130 Header dependency cleanup around Mesh Cards and some Renderer headers.
#preflight 63b6fd31577437afe6631d0b

[CL 23592507 by christopher waters in ue5-main branch]
2023-01-05 16:11:09 -05:00
Charles deRousiers
d5a07828ed Fix even more Strata blend mode.
#rb none
#jira none
#preflight 639a1ee98c64c74ac80ff657

[CL 23516373 by Charles deRousiers in ue5-main branch]
2022-12-14 14:47:58 -05:00
Charles deRousiers
5c44593f0d Abstract blendmode lookup to ease blend mode compatibility with Strata.
#rb sebastien.hillaire
#jira none
#preflight 6398964335203bc7aa695e10

[CL 23492252 by Charles deRousiers in ue5-main branch]
2022-12-13 10:44:43 -05:00
christopher waters
59ca6eac55 Adding implicit includes for upcoming dependency cleanup.
#preflight 63979d4e35203bc7aa1ab3a0

[CL 23485362 by christopher waters in ue5-main branch]
2022-12-12 19:33:55 -05:00
henry falconer
c5c0048993 Added support for setting r.GPUSkin.UnlimitedBoneInfluences and r.GPUSkin.UnlimitedBoneInfluencesThreshold per platform
#rb josie.yang,jeremy.moore
#preflight 6391c6970236bc17ce1f98f8

[CL 23448049 by henry falconer in ue5-main branch]
2022-12-08 11:50:34 -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
tiago costa
7249bee912 Fix issue causing incorrect Mesh SDF generation
- Workaround issue with compiler optimization by using copy constructor.

#rb none
#preflight none
#fyi krzysztof.narkowicz

[CL 23313007 by tiago costa in ue5-main branch]
2022-11-29 12:53:43 -05:00
henry falconer
4510b454c4 Allow users to limit the number of bone influences per vertex below what the project supports.
BoneInfluencesLimit can be set on each LOD of an asset. DefaultBoneInfluencesLimit is a per-platform global default that can be set from the project settings.

This allows you to, for example, enable Unlimited Bone Influences on a project while ensuring that meshes don't use more than 8 influences by default, even if they've been imported with more.

#rb alexis.matte,josie.yang
#preflight 6380959cf514e1ded907774d

[CL 23265588 by henry falconer in ue5-main branch]
2022-11-25 08:32:25 -05:00
krzysztof narkowicz
e4add33abd Lumen - increase surface cache bias on all bMostlyToSided (foliage) objects. This improves surface cache projection on trees, which have a pretty inaccurate SDF and BVH representation.
[CL 23019436 by krzysztof narkowicz in ue5-main branch]
2022-11-07 17:22:37 -05:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
aditya ravichandran
1f3d7ce017 MeshUtilities: Fix an issue where the "Make Static Mesh" button was missing
#rb Lauren.Barnes

[CL 22711555 by aditya ravichandran in ue5-main branch]
2022-10-22 14:43:26 -04:00
eric knapik
ebeb6781c1 Animation BP toolbar trimming & permissions
* Tab filters are now applied before tab widgets before are created for animation blueprint editor instead of only when a user tries opening a new tab. This prevents disallowed tabs in default layouts being created.
* Event graph documents are not opened if event graph permissions are disabled when loading blueprint editor.
* Added new blueprint permission to optionally disable function overrides.

#rb thomas.sarkanen
#preflight 6346928ef04e6f8505f7b879

[CL 22547860 by eric knapik in ue5-main branch]
2022-10-15 02:13:23 -04:00
Brian Karis
1b845f1def Remove doubles from mesh processing
#rb graham.wihlidal
#preflight 633b662e842f0d4c55e4b3d9

[CL 22319966 by Brian Karis in ue5-main branch]
2022-10-03 19:39:31 -04:00
krzysztof narkowicz
a6c98502ff Lumen Mesh Cards - fixed infinite loop when generating mesh cards for large meshes and EmbreeRay.ray.tfar + 0.01f was equal to EmbreeRay.ray.tfar. Now hits against previous primitive are ignored and ray is always advanced by a smallest possible increment.
[CL 22221700 by krzysztof narkowicz in ue5-main branch]
2022-09-28 10:18:58 -04:00
halfdan ingvarsson
e2210cb024 Support for 16-bit skin weights on the skelmesh.
The main change is that FSoftSkinVertex, used by FSkeletalMeshLODModel, in now stores weights as 16-bit after conversion from the import data. This increases the size of each FSoftSkinVertex from 144 bytes to 160 bytes (about 10% increase). By default render meshes still use 8-bit skin weights, with weights downshifted from the 16-bit modeling data, so no change in GPU memory consumption there. However, the vertex buffer will automatically return a 16-bit skin weights when requested from the GPU side (e.g. for CPU skinning and viewing tangents).

This change in the model data and vertex buffer CPU-side query, resulted in many changes throughout the codebase and will have an effect on licensees who are actively reading from and writing to these two storage locations.

The GPU skin cache shader has had one more permutation added when not using unlimited skin weights. The vertex factory is not affected.

#jira UE-164386
#rb alexis.matte, josie.yang
#preflight 632c0c5ab4515b7e22b4804d

[CL 22215219 by halfdan ingvarsson in ue5-main branch]
2022-09-27 19:48:05 -04:00
krzysztof narkowicz
483c135f59 Lumen Mesh Cards - fixed bug forcing all cards to be placed on the bounding box of a mesh.
[CL 22084720 by krzysztof narkowicz in ue5-main branch]
2022-09-19 19:51:43 -04:00
bryan sefcik
892629fe83 Fixed some paths that got updated to include the full "ThirdParty" path.
#jira
#preflight 6320877bbc40358fa2995069

[CL 21997782 by bryan sefcik in ue5-main branch]
2022-09-13 21:48:33 -04:00
bryan sefcik
a3dddc6630 Pass 1 on Developer include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e281694758d0bf2ea1399

[CL 21960082 by bryan sefcik in ue5-main branch]
2022-09-11 18:32:18 -04:00
krzysztof narkowicz
dac96a78c8 Lumen Surface Cache - add a small card margin to handle displacement, which can move mesh vertices outside of the original bounding box.
[FYI] Daniel.Wright

[CL 21891347 by krzysztof narkowicz in ue5-main branch]
2022-09-08 07:10:41 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
krzysztof narkowicz
91475e90e8 Lumen - Surface Cache Improvements
* Card sampling with squared weights instead of cutoff in order to allow surface to leak into tiny areas without coverage
* Bump min static mesh LOD to reduce mismatches between surface cache and geometry

Card placement:
* Move near plane back outside of mesh bounds during capture in order to handle displacement mismatches
* Discard surfels seeing triangle back faces only when sky isn't visible
* New additive card placement, which can be used for continuous LOD. Instead of clustering, it tries to find the best split plane until the entire surface isn't covered.
* Lower voxel and min card size to be able to cover smaller areas and place more cards
* Spawn multiple surfels per cell if they cannot be merged
* Fixed surfel generation and card size


#ROBOMERGE-OWNER: krzysztof.narkowicz
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 21089854 via CL 21089869 via CL 21089871
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21096306 by krzysztof narkowicz in ue5-main branch]
2022-07-14 15:21:16 -04:00
kriss gossart
d01acf593f Skeletal Mesh - Replace direct pointer access by the new GetSkeletalMesh/GetSkinnedAsset methods, and disambiguate some SkinnedMeshComponent/SkeletalMeshComponent uses.
#rb Josie.Yang
#preflight 62d00597803d3d3860700c69
#jira none

[CL 21089728 by kriss gossart in ue5-main branch]
2022-07-14 08:40:18 -04:00
krzysztof narkowicz
9dba58ec5c Lumen - Surface Cache Improvements
* Card sampling with squared weights instead of cutoff in order to allow surface to leak into tiny areas without coverage
* Bump min static mesh LOD to reduce mismatches between surface cache and geometry

Card placement:
* Move near plane back outside of mesh bounds during capture in order to handle displacement mismatches
* New additive card placement, which can be used for continuous LOD. Instead of clustering, it tries to find the best split plane until the entire surface isn't covered.
* Lower voxel and min card size to be able to cover smaller areas and place more cards
* Spawn multiple surfels per cell if they cannot be merged
* Fixed surfel generation and card size


#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 21078868 via CL 21078893 via CL 21079371
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21082291 by krzysztof narkowicz in ue5-main branch]
2022-07-13 17:54:13 -04:00
Josie Yang
6b15506e58 Replace direct access to SkeletalMesh object from USkinnedMeshComponent with GetSkeletalMesh function
#rb kriss.gossart
#preflight 62aafc9ada0af39a4783930a

[CL 20686007 by Josie Yang in ue5-main branch]
2022-06-16 09:14:04 -04:00
tiago costa
66a1ac1125 Updated MeshUtilities::GenerateStratifiedUniformHemisphereSamples to use concentric disk sampling.
- The number of samples returned is the square number closer to the requested number.
- Updated code paths using the function to request a number of samples close to what they previously got.

#rb Krzysztof.Narkowicz
#preflight 628de9e7f622d972b5732cbb

#ROBOMERGE-AUTHOR: tiago.costa
#ROBOMERGE-SOURCE: CL 20361675 via CL 20361695 via CL 20361702
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20362041 by tiago costa in ue5-main branch]
2022-05-25 06:17:20 -04:00