WpfGeometryModel3DNode vs MeshObjectNode - Printable Version
+- AB4D Forum (https://forum.ab4d.com)
+-- Forum: Products Forums (https://forum.ab4d.com/forumdisplay.php?fid=4)
+--- Forum: Ab3d.DXEngine (https://forum.ab4d.com/forumdisplay.php?fid=11)
+--- Thread: WpfGeometryModel3DNode vs MeshObjectNode (/showthread.php?tid=4260)
WpfGeometryModel3DNode vs MeshObjectNode - siik - 05-07-2021
We have integrated Assimp to provide import/export of 3D models into our app.
RE: WpfGeometryModel3DNode vs MeshObjectNode - abenedik - 05-07-2021
Assimp importer and exporter that comes with Ab3d.PowerToys.Assimp library. This means that it works on WPF 3D objects and objects created from Ab3d.PowerToys library.
The DXEngine can render WPF 3D objects and objects from Ab3d.PowerToys. But this requires them to be converted into ObjectNode - those objects provide low level data for the DirectX.
To get more details about that see DXEngine Deep Dive: https://www.ab4d.com/DirectX/3D/DXEngineDeepDive.aspx
When rendering the scene, both object types provide the same performance (ObjectNode objects are used for both types). But the ObjectNode objects are faster to initialize (it is not needed to convert Point3D structs to Vector3) and require less memory.
To export the 3D scene with Assimp exporter you will need to convert the ObjectNodes into WPF 3D objects (GeometryModel3D and Model3DGroup objects).
RE: WpfGeometryModel3DNode vs MeshObjectNode - abenedik - 05-08-2021
As written in the previous post, I have tried to add support for exporting a single MeshGeometry3D that is used by many GeometryModel3D objects that would be created from InstanceData. Unfortunatelly the assimp object model allows to store only a single material with a mesh - the material is not assigned to the node but to the mesh. This means that when using assimp exported the same mesh will be saved for each GeometryModel3D.
If you want to save to some simple text base file format, then you may want to wrote your own exporter - this does only need to support your objects and therefore it may be more simple.
You can also check the source for Ab3d.PowerToys.Assimp. You may provide a way to export the ObjectNodes directly - you would need to convert them to Assimp objects.
Here is the new repo for the Ab3d.PowerToys.Assimp: https://github.com/ab4d/Ab3d.PowerToys.Assimp
RE: WpfGeometryModel3DNode vs MeshObjectNode - siik - 05-10-2021
Thanks very much Andrej,
Understood that the many instances will require individual materials for export so it is not possible to share the geometry.