Создать большой 'sh 3D в WPF - PullRequest
       5

Создать большой 'sh 3D в WPF

0 голосов
/ 15 апреля 2020

Я пытаюсь визуализировать 3D-контент в окне WPF. При загрузке он отображается нормально, однако загрузка модели занимает значительное время. Я попытался сделать это как можно быстрее, написав прямую инициализацию Model3D, напр.

Model3D model = new GeometryModel3D(new MeshGeometry3D{Positions=new Point3DCollection{new Point3D(x,y,z),... },
                                                       Normals=new Vector3DCollection{new Vector3D(x,y,z),... },
                                                       TriangleIndices=new Int32Collection{1,2,3,... }}, 
                                                       new DiffuseMaterial(...));

Это работает, и я подумал, что это будет самым быстрым, учитывая отсутствие анализа и т. Д. c. Однако это все еще занимает достаточно много времени, и, поскольку это происходит в потоке GUI, он останавливает интерфейс во время загрузки.

У меня есть 2 вопроса:

  1. Есть ли более быстрый способ загрузки таких данных c.
  2. Как я могу загрузить эти данные в другой поток , Все эти трехмерные объекты получены из DispatcherObject, доступ к которому возможен только из потока создания. Я поиграл, но все варианты выглядят так, как будто все еще включают копирование элемента данных по элементу
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...