Commit Graph

190 Commits

Author SHA1 Message Date
sebastien lussier
99922b87e2 SceneCapturePhotoSet - "Hide" Nanite actors by temporarily unregistering components
[FYI] ryan.schmidt

#ROBOMERGE-SOURCE: CL 16357093 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)

[CL 16368648 by sebastien lussier in ue5-main branch]
2021-05-18 11:54:40 -04:00
Ryan Schmidt
9defa23f46 GeometryProcessing:
- Add FImageAdapter, wraps TImageBuilder of different types and provides a consistent interface, so that other code doesn't need specializations for each image type
- FMeshSceneAdapter now supports the ability to detect and thicken "thin" meshes, by flattening the instances into unique mesh copies (generally necessary due to scaling). Can also now return statistics about the mesh scene, return a full flattened mesh (for debugging), and automatically generate a "closing mesh" that can help to cap off the base of mesh assemblies when trying to generate a solid/etc.

ModelingComponents:
- FWorldRenderCapture now writes via FImageAdapter instead of an Image4f
- FSceneCapturePhotoSet now stores less data for photo sets. BaseColor/Emissive/WorldNormal are 3f, Roughness/Specular/Metallic are 1f
- IApproximateActors and implementation now support optional base-capping, occluded mesh removal, geometric-tolerance simplification, thin mesh auth-thickening. Now creates MICs based on an input Material, instead of new Material. Added ability to emit a flattened debug mesh, and print debug info.

MergeActors:
- Expose above improvements to IApproximateActors

#rb none
#rnx
#jira none
#preflight 609ef005f6c6e3000144c5e2

[CL 16338550 by Ryan Schmidt in ue5-main branch]
2021-05-14 21:11:51 -04:00
Ryan Schmidt
5c88d78bf9 ModelingComponents:
Add Texture2DUtil::ConvertToSingleChannel(), converts TSF_BGRA8 and TSF_BGRE8 textures to TSF_G8 (based on cast-to-FColor Red channel) to reduce memory usage of a texture
Add CreateDerivedMaterialInstance(), makes a new MIC for input material (either by duplicating or using MIC asset factory)
#rb none
#rnx
#jira none

[CL 16335333 by Ryan Schmidt in ue5-main branch]
2021-05-14 16:28:31 -04:00
semion piskarev
b999806285 MeshModelingTools: Add DynamicMesh provider/committer interfaces and update existing targets to support them. Move interface target files.
#rb Lonnie.Li
#rnx
#jira none

[CL 16315070 by semion piskarev in ue5-main branch]
2021-05-13 13:22:55 -04:00
Ryan Schmidt
cacab7d7fc GeometryProcessing: add GroupTopology::GetSelectionBounds() function, use in new UPolygonSelectionMechanic::GetSelectionBounds() function
#rb michael.balzer
#rnx
#jira none
#preflight 60985f12dd2e000001ab05ae

[CL 16246052 by Ryan Schmidt in ue5-main branch]
2021-05-09 23:31:56 -04:00
michael balzer
b20d04d26b MeshModelingTools: Disable material verification for in FBaseDynamicMeshSceneProxy while enqueued render command is in flight.
#jira UE-114958
#rb ryan.schmidt david.hill
#rnx

[CL 16220942 by michael balzer in ue5-main branch]
2021-05-06 11:05:57 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Ryan Schmidt
e4fb993a56 ModelingComponents: convert checks to ensures where possible in Base/SimpleDynamicMeshSceneProxy, to avoid hard crashes when these things come up during debugging.
#rb david.hill
#rnx
#jira none

[CL 16203030 by Ryan Schmidt in ue5-main branch]
2021-05-05 00:46:20 -04:00
Ryan Schmidt
e80d853a06 GeometryProcesing: add TImageBuilder::FastDownsample. Add AntiAliasMultiSampling parameter to ApproximateActors API and Impl. Expose WindingNumber parameter in ApproximateActors API. Modify FMeshSceneAdapter to compute winding number sum instead of max.
#rb none
#rnx
#jira none
#preflight 6091c88590631e000100c55b

[CL 16201057 by Ryan Schmidt in ue5-main branch]
2021-05-04 19:08:26 -04:00
semion piskarev
e573558985 MeshModelingTools: Multiple default material fixes. Made LineSetComponentMaterial thicken in the correct direction in ortho, added dashed/dimmed occlusion for overlaid version, disabled EyeAdaptationInverse for ortho in translucent materials because it does not work there, made depth offset work in ortho, split translucent-mode materials from opaque ones since opaque has fewer limitations, changed several mechanics to get material via ToolSetupUtil instead of directly, changed the "soft" point material to be a proper round points material since this is what it was used for. Made MeshInspector not use too large values for its depth offset.
#rb Ryan.Schmidt
#rnx
#jira none

[CL 16167658 by semion piskarev in ue5-main branch]
2021-04-30 09:22:12 -04:00
Ryan Schmidt
f99091e243 GeometryProcessing: add basic TTransformSequence3, allows storing multiple separate transforms in list, transforming points
ModelingComponents: add FMeshSceneAdapter, generates "flattened" mesh representation for a set of Actors, with support for instancing to avoid duplication, and creates minimal set of AABBTree/FWNTrees for the unique meshes. Does not make copies of any mesh data, uses MeshAdapter to allow queries directly on MeshDescriptions.
#rb none
#rnx
#jira none

[CL 16148184 by Ryan Schmidt in ue5-main branch]
2021-04-28 16:17:03 -04:00
Ryan Schmidt
0986d24da5 ModelingComponents: add support for capturing scene renders and doing photo-based texturing
- new FWorldRenderCapture class can capture various render buffers of a set of Actors from a given 3D camera
- new TSpatialPhoto represents a 3D-oriented 2D image (ie a "photo")
- new TSpatialPhotoSet stores a set of photos and supports quering them for an attribute value "seen by" the photo set at an arbitrary 3D position (eg basically photo-reprojection onto the point)
- new FSceneCapturePhotoSet calculates TSpatialPhotoSet for a set of render attributes using FWorldRenderCapture, and then supports querying to effectively texture a 3D point using the Photo Set
- FTexture2DBuilder now knows about various other texture types, clarified SRGB conversion parameters
#rb none
#rnx
#jira none

[CL 16135423 by Ryan Schmidt in ue5-main branch]
2021-04-27 21:11:58 -04:00
charles bloom
05b4b19678 Float16Color use VectorStoreHalf/VectorLoadHalf
add SSE2 half conversions

#rb alexander.suvorov
#fyi rod.bogart

[CL 16135278 by charles bloom in ue5-main branch]
2021-04-27 20:41:39 -04:00
semion piskarev
12e1230cfc MeshModelingTools: Making some PolyEdit properties disable themselves when they would not do anything, and making them work more predictably.
#rb David.Hill
#rnx
#jira none

[CL 16127948 by semion piskarev in ue5-main branch]
2021-04-27 11:08:23 -04:00
semion piskarev
58d5cbd5cf MeshModelingTools: Adding current version of UV editor.
#rb Brooke.Hubert, Ryan.Schmidt
#rnx
#jira UETOOL-3108, UETOOL-3110

[CL 16078314 by semion piskarev in ue5-main branch]
2021-04-21 14:36:05 -04:00
semion piskarev
9b88b13763 MeshModelingTools: Fix gizmo location calculation in CurveControlPointsMechanic.
#rb David.Hill
#rnx
#jira none

[CL 16062425 by semion piskarev in ue5-main branch]
2021-04-20 12:01:00 -04:00
David Hill
6967524480 Geometry Processing: MeshGroupPaintTool. BaseDynamicMeshSceneProxy Fix bug with visibility introduced by change to using Color Overlay.
#preflight 607e265a3059e60001136b17

[CL 16057767 by David Hill in ue5-main branch]
2021-04-19 21:48:11 -04:00
Jimmy Andrews
92adac51aa change plane cut tool to use the construction plane mechanic
#rb david.hill
#rnx
#preflight 607e006a3059e60001fe36d9

[CL 16057536 by Jimmy Andrews in ue5-main branch]
2021-04-19 21:00:31 -04:00
David Hill
8024b85b42 Geometry Processing: Add Color Overlay as FVector4f to the default Dynamic Mesh Attribute Set. This should be used in place the mesh vertex color as it mirrors the wedge-instance granularity of MeshDescription used in static meshes, and the SkeletalMeshLODModel used in skeletal meshes. Also fix up the mesh conversion code to support this, as well as the undo system, and previous clients of the mesh vertex color.
#rb jimmy.andews, tyson.brochu
#preflight 607d8c95d7af9b00011d0244

[CL 16050860 by David Hill in ue5-main branch]
2021-04-19 10:47:52 -04:00
Jimmy Andrews
aa12ad308c Copy the separate asset and component materials from the source mesh to the new assets generated by plane cut tool (+ generally support creating an asset with separate component and asset materials)
#jira UE-110096
#rb tyson.brochu
#rnx
#preflight 6075fefa8c3f7700019357cc

[CL 15995092 by Jimmy Andrews in ue5-main branch]
2021-04-13 17:15:34 -04:00
lonnie li
ded81b4807 ModelingTools: Add background compute for BakeMeshAttributeMapsTool.
#rb Jimmy.Andrews Ryan.Schmidt
#jira none
#rnx
#preflight 6074ac5aff56130001e2f253

[CL 15983648 by lonnie li in ue5-main branch]
2021-04-12 17:10:46 -04:00
ryan schmidt
8fe0edb43c ModelingComponents: add missing thread locking in FMeshRenderDecomposition, otherwise random crashes may occur when decomposing for multiple materials
#rb trivial
#rnx
#jira none
#lockdown simon.tourangeau

#ROBOMERGE-SOURCE: CL 15960562 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15979128 by ryan schmidt in ue5-main branch]
2021-04-12 12:46:22 -04:00
ryan schmidt
fbb10e331a ModelingTools: Restore constrast curve asset that was mistakenly deleted. Return a transient duplicate of contrast curve in ToolSetupUtil, so that users are not editing an Engine asset every time they modify the curve. If Property is reset to default, set back to new clone of default asset. Make the contrast curve property editable so users can assign their own curve asset, and handle register/unregister of curve listener
#rb semion.piskarev
#rnx
#jira UE-112848
#lockdown simon.tourangeau

#ROBOMERGE-OWNER: ryan.schmidt
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 15935238 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15935376 by ryan schmidt in ue5-main branch]
2021-04-06 17:59:10 -04:00
semion piskarev
5e412667c8 MeshModelingTools: Added the ability to use a transparent or custom material to the sculpt tools.
#rb Ryan.Schmidt
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 15896721 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15896726 by semion piskarev in ue5-main branch]
2021-04-01 17:33:33 -04:00
Ryan Schmidt
196be0f6d1 GeometryProcessing: replace UE::Geometry::FVector3d/FVector3f with UE Core versions based on TVector<T>. FVector3<T> is now an extension of TVector<T>. Update all affected call sites.
#rb none
#rnx
#jira none

[CL 15870068 by Ryan Schmidt in ue5-main branch]
2021-03-30 21:25:22 -04:00