low poly lcd panel free sample
https://www.freepik.com/free-vector/computer-monitor-lcd-with-polygon-line-abstract-background-polygonal-space-low-poly-with-connecting-dots-lines-connection-structure-vector-science-background_25657722.htm
On the left, you have a panel where you"ll see the different objects added to your scene. If you"ve used design tools like Photoshop or Figma, it"s like your layers panel.
On the right is the panel where you"ll be able to change the parameters for each object you add to your scene. For example, the size of a cube, the position of a light, etc...
The 92 following 3D models are the ones available in the default catalog of Sweet Home 3D 7.0.2 free version. These creations are available under Creative
I do not have any experience in optimizing hi-poly meshes, so I cannot give you any advice here. Here I can only say that you may also consider combining the meshes with the same material into one mesh - this can reduce the number of draw calls and also improve performance.
My main advice is on how to write your code to make it perform better in WPF 3D. Because you will need to check and compare many vertices, you need to avoid getting data from the MeshGeometry3D.Positions and MeshGeometry3D.TriangleIndices collections - accessing a single value from those collections is very slow (you may check the .Net source and see how many lines of code are behind each get).
Because you will not change that instance of wpfMesh (for each change you will create a new MeshGeometry3D), you can freeze it - call Freeze() on it. This allows WPF to optimize the meshes (combine them into vertex buffers) to reduce the number of draw calls. What is more, after you freeze a MeshGeometry3D (or any other WPF object), you can pass it from one thread to another. This means that you can parallelize your work and create the MeshGeometry3D objects in worker threads and then pass them to UI thread as frozen objects.
The same applies to change the Positions (and other data) in MeshGeometry3D object. It is faster to copy the existing positions to an array or List, change the data there and then recreate the Positions collection back from your array, then to change each individual position. Before doing any change of MeshGeometry3D you also need to disconnect it from the parent GeometryModel3D to prevent triggering many change events. This is done with the following: