Commit Graph

18 Commits

Author SHA1 Message Date
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
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
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
Ryan Schmidt
df497aa095 GeometryProcessing: move FVector2/3/4/f/d back out of UE::Geometry:: namespace
#rb none
#rnx
#jira none

[CL 15733915 by Ryan Schmidt in ue5-main branch]
2021-03-17 21:45:29 -04:00
Ryan Schmidt
6db97af132 GeometryProcessing: FVector2/3/4 refactoring. Move various member functions to standalone functions in UE::Geometry:: namespace, to simplify upcoming conversion to core vector types. Update all call sites.
#rb tyson.brochu, semion.piskarev
#rnx
#jira none

[CL 15732208 by Ryan Schmidt in ue5-main branch]
2021-03-17 19:32:44 -04:00
Ryan Schmidt
ffe3b401cd GeometryProcessing: move all public types in GeometryProcessing plugin into UE::Geometry:: namespace, as well as some code in MeshModelingToolset. Fix fallout in Water, Paint Mode, ChaosEditor, DataPrep, Text3D, Unit Tests, internal projects.
#rb jimmy.andrews, semion.piskarev
#jira none

[CL 15661651 by Ryan Schmidt in ue5-main branch]
2021-03-09 19:33:56 -04:00
Ryan Schmidt
dfc5fc9f97 ModelingComponents: always create at least one texcoord in render buffers, even if there are no UV overlays, otherwise checks are hit in rendering setup
#rb david.hill
#rnx
#jira none

[CL 15301300 by Ryan Schmidt in ue5-main branch]
2021-02-03 15:48:37 -04:00
Ryan Schmidt
ab7e08dbe9 ModelingTools:
Add support for submitting multiple UV channels to render buffers in UBaseDynamicMeshSceneProxy and USimpleDynamicMeshSceneProxy (currently not supported if there is a mesh decomposition, and not supported in fast UV updates).
Add support for visualizing different UV channels in UExistingMeshMaterialProperties.
Add UMeshUVChannelProperties property set for selecting from available UV channels.
Add support for arbitrary UV channels in ParameterizeMeshTool and UVLayoutTool/Op.
#rb jimmy.andrews
#rnx
#jira none

[CL 15281295 by Ryan Schmidt in ue5-main branch]
2021-02-02 13:26:23 -04:00
Ryan Schmidt
72700cc221 ModelingComponents: Add support for fast update of index buffers in decomposed buffer sets in DynamicMeshComponent/Proxy. Add support for MeshRenderDecomposition to UPreviewMesh. Add UPreviewMesh::NotifyRegionDeferredEditCompleted() functions to allow triangle subsets to be updated.
MeshSelectionTool: enable new decomposition support to improve painting performance on large meshes. Fix code that was doing repeated linear searches to remove elements from a potentially-very-large array. Make brush-ROI tri centroid point rendering optional.
#rb jimmy.andrews
#rnx
#jira none

[CL 15175542 by Ryan Schmidt in ue5-main branch]
2021-01-24 16:05:21 -04:00
Ryan Schmidt
ce90380f22 ModelingComponents: use full-precision UVs in Simple and Octree DynamicMeshComponents, so that UV previews are always at maximum precision.
#rb none
#rnx
#jira none

[CL 15149012 by Ryan Schmidt in ue5-main branch]
2021-01-20 18:05:48 -04:00
Emil Persson
72db809300 Replace legacy LockVertexBuffer()/LockIndexBuffer()/LockStructuredBuffer() calls with the unified LockBuffer()
#rb kenzo.terelst

[CL 14898308 by Emil Persson in ue5-main branch]
2020-12-10 11:51:32 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
ryan schmidt
e7f3baf1ca Edigrate Dev-Editor updates to InteractiveToolsFramework, GeometryProcessing, MeshModelingToolset, and ModelingTools Editor Mode Plugins. Update a few files in new MeshPaint Plugin for UInteractiveTool rename of ::Tick() to ::OnTick().
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 12908995 via CL 12908996 via CL 12909001
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12909003 by ryan schmidt in Main branch]
2020-04-18 18:42:59 -04:00
ryan schmidt
626922875e ModelingTools: typo prevented normals on DynamicMeshComponent from being recomputed in certain cases
#rb none
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 11918049 in //UE4/Release-4.25/... via CL 11918071
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11918106 by ryan schmidt in Main branch]
2020-03-04 16:24:49 -05:00
Max Chen
b4881d8bf8 Copying //UE4/Dev-Editor to Dev-Tools-Staging (//UE4/Dev-Tools-Staging) @11123875
#rb none
#jira none

[CL 11123880 by Max Chen in Dev-Tools-Staging branch]
2020-01-27 20:11:15 -05:00
JeanMichel Dignard
dc2d35695f Copyright fixes
#rb none
#rnx

[CL 10910710 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 17:11:23 -05:00
Chris Gagnon
346a4b05ea Copy up from Dev-Editor @10681378
#rb none

[CL 10837446 by Chris Gagnon in Dev-Tools-Staging branch]
2019-12-19 18:07:47 -05:00
Ryan Schmidt
b1d9c2be8f ModelingTools: Multiple Material Support on DynamicMesh Components
- MeshDescriptionToDynamicMesh now always enables MaterialID attribute
- add FComponentMaterialSet and FComponentTarget::GetMaterialSet() that returns for current object (eg set of Material Slot materials on StaticMesh)
- move FMeshRenderBufferSet to BaseMeshSceneProxy.h, add new FBaseDynamicMeshSceneProxy, centralizes management/initialization of RenderBuffers, default GetDynamicMeshElements implementation draws buffer set returned by subclasses
- FSimpleDynamicMeshSceneProxy and FOctreeDynamicMeshSceneProxy now subclass FBaseDynamicMeshSceneProxy, implement necessary functions/etc
- UBaseDynamicMeshComponent now manages its own set of Materials. New OverrideMaterial can be set to replace existing materials with override material during render calls (does not affect material set)
- FSimpleDynamicMeshSceneProxy now builds per-material RenderBuffers, new FastUpdateVertices function to update positions/normals/colors. Removed shared-vertex construction, now only builds split-triangle buffers.
- UPreviewMesh gets wrapper functions to manage materials, override material, tangents of contained Component
#rb none
#rnx

[CL 10313312 by Ryan Schmidt in Dev-Editor branch]
2019-11-19 17:08:48 -05:00