Commit Graph

73 Commits

Author SHA1 Message Date
Richard TalbotWatkin
24a2a24011 New attribute array API.
Fixed some flaws in the original API, deprecated various methods, and introduced some new features.
- Now attribute arrays are accessed via TAttributesRef or TAttributesView (and corresponding const versions). These value types hold references to attribute arrays, and individual elements can be accessed by their element ID and attribute index. Using a value type is safer than the previous method which required assignment to a const-ref (and not doing so would take a temporary copy of the attribute array).
- The attribute set has been totally flattened, so all attributes of different types are added to the same container. This greatly improves compile times, prevents attributes from being created with the same name but different types, and permits the view feature.
- The class hierarchy has changed to have generic base classes where possible with no particular ElementID type. This reduces the code footprint by no longer generating nearly identical copies of templated methods.
- A TAttributesView allows the user to access an attribute array by the type of their choosing, regardless of its actual type. For example, the Normal attribute may be registered with type FPackedVector, but accessed as if it was an FVector. This allows us to move away from very strong typing, and instead transparently store attributes of a more efficient size, while the user is not affected.
- A transient attribute flag has been added, to denote that a particular attribute should not be saved.
#rb none

[CL 4226081 by Richard TalbotWatkin in Dev-Editor branch]
2018-07-20 18:58:37 -04:00
Matt Kuhlenschmidt
e35d32b300 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4170088 by Matt Kuhlenschmidt in Dev-Editor branch]
2018-06-28 11:46:19 -04:00
Alexis Matte
17c12005cb Deprecate FRawMesh, replace by MeshDescription - ABC Importer
#jira UE-60702
#rb none

[CL 4147032 by Alexis Matte in Dev-Editor branch]
2018-06-19 14:26:19 -04:00
Matt Kuhlenschmidt
e9f2982e4d Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4137243 by Matt Kuhlenschmidt in Dev-Editor branch]
2018-06-19 09:08:53 -04:00
richard talbotwatkin
96d7d9dbfc Copied from Dev-Editor CL 4118758
- Refactor to put UStaticMesh Mesh Descriptions in a separate object which is not loaded by default, but which can be requested when needed. This needs to be kept in sync with the number of SourceModel LODs.
- Various refactors to import/building.
- Changed UMeshDescription to FMeshDescription, and made its preferred semantics pass-by-reference rather than by pointer.
- Deprecated UMeshDescription.
#rb Alexis.Matte
#jira

#ROBOMERGE-SOURCE: CL 4135475 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)
#ROBOMERGE-AUTHOR: richard.talbotwatkin

[CL 4135477 by richard talbotwatkin in Staging-4.20 branch]
2018-06-18 12:18:21 -04:00
richard talbotwatkin
7608b854ab Undo //UE4/Release-4.20/Engine/... changelist 4135306
#rb none
#jira

#ROBOMERGE-SOURCE: CL 4135397 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)
#ROBOMERGE-AUTHOR: richard.talbotwatkin

[CL 4135398 by richard talbotwatkin in Staging-4.20 branch]
2018-06-18 11:53:46 -04:00
richard talbotwatkin
b4b7fa924c Copied from Dev-Editor CL 4118758
- Refactor to put UStaticMesh Mesh Descriptions in a separate object which is not loaded by default, but which can be requested when needed. This needs to be kept in sync with the number of SourceModel LODs.
- Various refactors to import/building.
- Changed UMeshDescription to FMeshDescription, and made its preferred semantics pass-by-reference rather than by pointer.
- Deprecated UMeshDescription.
#rb Alexis.Matte
#jira

#ROBOMERGE-SOURCE: CL 4135306 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)
#ROBOMERGE-AUTHOR: richard.talbotwatkin

[CL 4135311 by richard talbotwatkin in Staging-4.20 branch]
2018-06-18 11:27:18 -04:00
jerome delattre
9dcdc6c566 #ROBOMERGE-AUTHOR: jerome.delattre
Copying //Tasks/UE4/Release-4.20-EnterpriseLateFeatures to Release-4.20 (//UE4/Release-4.20)
#rb simon.tourangeau
#jira UE-59798, UE-58919, UE-59480

#ROBOMERGE-SOURCE: CL 4119095 in //UE4/Release-4.20/...
#ROBOMERGE-BOT: RELEASE (Release-4.20 -> Release-Staging-4.20)

[CL 4119100 by jerome delattre in Staging-4.20 branch]
2018-06-07 18:49:50 -04:00
Richard TalbotWatkin
9015f50d9e - Refactor to put UStaticMesh Mesh Descriptions in a separate object which is not loaded by default, but which can be requested when needed. This needs to be kept in sync with the number of SourceModel LODs.
- Various refactors to import/building.
- Changed UMeshDescription to FMeshDescription, and made its preferred semantics pass-by-reference rather than by pointer.
- Deprecated UMeshDescription.
#rb Alexis.Matte

[CL 4118758 by Richard TalbotWatkin in Dev-Editor branch]
2018-06-07 16:22:56 -04:00
Alexis Matte
8394e60687 Fix CIS build for monolitic build
Fix the old faceted asset
Bump the staticmesh version
#jira UE-58213
#jira UE-58217
#rb richard.talbotwatkins
#lockdown nick.penwarden

[CL 4031727 by Alexis Matte in Main branch]
2018-04-25 17:41:58 -04:00
Alexis Matte
0c878e4e62 Fix automation tests warning, we always make sure there is no degenerate NTBs
#rb none
#jira UE-58071

[CL 4023424 by Alexis Matte in Dev-Geometry branch]
2018-04-23 18:11:15 -04:00
Alexis Matte
f2e0ddfcd5 Fix possible crash when a mesh has very small triangles, we do not remove degenerate polygons anymore when computing polygon normals. Degenerate poygons are remove later in the process.
#rb none

[CL 4017865 by Alexis Matte in Dev-Geometry branch]
2018-04-20 18:47:04 -04:00
Alexis Matte
9e3033ed64 Fix linux crash, there was two structure with the same name
#jira UE-57009
#rb none

[CL 3990103 by Alexis Matte in Dev-Geometry branch]
2018-04-06 13:34:42 -04:00
Alexis Matte
c04cbc183f Fix partialy the automation tests
#rb none

[CL 3985612 by Alexis Matte in Dev-Geometry branch]
2018-04-04 18:36:40 -04:00
Alexis Matte
816c2456c8 Fix partially the Merge actor tests
#rb none

[CL 3982657 by Alexis Matte in Dev-Geometry branch]
2018-04-03 18:35:54 -04:00
Alexis Matte
23bb6528fa Fix old faceted meshes, bump version to ensure static mesh are rebuild build
- Add some normals and tangents tests but they are disable until the new compute tangents return the same value then the original FRawMesh code.
#rb none
#jira UE-56965

[CL 3973085 by Alexis Matte in Dev-Geometry branch]
2018-03-29 16:39:17 -04:00
Alexis Matte
c186cbd8b4 When StaticMesh build options are set to use the imported normals, we now use the imported normals to compute the tangents when using the builtin option.
#rb none
#codereview richard.talbotwatkin

[CL 3961006 by Alexis Matte in Dev-Geometry branch]
2018-03-22 20:14:49 -04:00
Alexis Matte
793a2b1fe1 Move Normals tangents creation in MeshDescription module, this will allow to share the code between editable mesh and staticmesh builder
#rb none
#codereview richard.talbotwatkin

[CL 3960212 by Alexis Matte in Dev-Geometry branch]
2018-03-22 16:02:58 -04:00
Alexis Matte
f632e578c7 - Remove the editor pref settings bUseMeshDescription
- Fix fbx importer material remap when using mesh description

#rb none

[CL 3957028 by Alexis Matte in Dev-Geometry branch]
2018-03-21 10:54:37 -04:00
Alexis Matte
7b994a3307 Fix automation tests crash
#rb none

[CL 3925651 by Alexis Matte in Dev-Geometry branch]
2018-03-05 13:22:49 -05:00
Alexis Matte
1119758fae Change Meshdescription to use FName instead of indexes.
#rb none

[CL 3924913 by Alexis Matte in Dev-Geometry branch]
2018-03-05 10:06:09 -05:00
Alexis Matte
a7bb87bfbd Move meshdescriptionhelper operations code to the mesh description operation module
#rb none

[CL 3903693 by Alexis Matte in Dev-Geometry branch]
2018-02-22 11:20:51 -05:00
Alexis Matte
0b5b977e11 Fix circular dependencies, I move all the meshdescription operations code outside of the meshbuilder. Engine depend on MeshDescriptionOperations(MDO), MeshBuilder depend on MDO.
MDO do not depend on Engine and MeshBuilder.

#rb none

[CL 3903519 by Alexis Matte in Dev-Geometry branch]
2018-02-22 10:04:16 -05:00