A new lit vertex color material is added and used if the ModelingComponents module is loaded (to avoid adding a new engine material, if only GeometryFramework is loaded, then the engine-default vertex color material is used). This class-wide vertex color material can be overridden via UBaseDynamicMeshComponent::SetDefaultVertexColorMaterial()
Facet Normals / Flat Shading is now separately configurable, this overrides the normals at the vertexbuffer setup level, so it works independently of material.
Support also added for configuring the wireframe material used for BaseDynamicMeshComponent, and also for setting the wireframe color.
#preflight 62aa2330a40a4dc3a04052c6
#rb tyson.brochu
[CL 20676782 by Ryan Schmidt in ue5-main branch]
- Add new UModelingComponentsSettings which has settings for in-tool preview mesh rendering and emitted new mesh objects
- Add ToolSetupUtil::ApplyRenderingConfigurationToPreview() utility functions, most Tools now call this function to configure UPreviewMesh/DynamicMeshComponents they create for mesh editing preview rendering (uses Settings to make setup decisions like RT on/off)
- add PreviewMesh::NotifyWorldPathTracedOutputInvalidated(), forces invalidation of current path tracing result, call from various PreviewMesh internal functions
- UCreateMeshObjectTypeProperties::ConfigureCreateMeshObjectParams() now configures new-mesh-object parameters with RT and Collision from UModelingComponentsSettings
- DynamicMeshComponent now defaults to raytracing-enabled, usage in Editor is controlled by above settings
#rb rinat.abdrashitov
#rnx
#jira none
#preflight 615f376bf0ee840001cab0fc
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17753416 in //UE5/Release-5.0/... via CL 17758212
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 17758266 by ryan schmidt in ue5-release-engine-test branch]
- add FRayTracingGeometry structures to FMeshRenderBufferSet for primary and secondary triangle indices
- add UpdateRaytracingGeometryIfEnabled() function which rebuilds these raytracing data structures. This does a full rebuild, not clear if any kind of incremental update is possible currently, to revisit in future.
- call the above in the various places where we modify the existing index/vertex buffers.
- add UPrimitiveComponent::GetDynamicRayTracingInstances() implementation, mirrors GetDynamicMeshElements() implementation, uses new DrawRayTracingBatch() function
#rb juan.canada
#rnx
#jira none
#preflight 6157507e2363e400012ed95f
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17696127 in //UE5/Release-5.0/... via CL 17696138
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 17696156 by ryan schmidt in ue5-release-engine-test branch]
- UDynamicMesh Reset() functions now return themselves, configured as BP output pin, helps to make BP wiring cleaner
- added DynamicMeshComponent::ConfigureMaterialSet() and ::ValidateMaterials(), to allow material set to be updated from BP
- added BaseDynamicMeshComponent::SetNumMaterials() to support above
#rb none
#rnx
#jira none
#preflight 614271263c7c670001ae4afd
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17531959 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17531972 by ryan schmidt in ue5-release-engine-test branch]