Рисование 3D линий в WPF - PullRequest
       58

Рисование 3D линий в WPF

8 голосов
/ 21 января 2010

Я работаю над приложением CAD и думаю об использовании WPF для рендеринга моих сущностей. Но похоже, что WPF не поддерживает рисование 3D-линий. Есть ли способы рисования 3D-линий в WPF? Я не хочу создавать сетку для каждой линейной сущности, которую мне нужно нарисовать, так как я боюсь, это может привести к значительному снижению производительности, так как мне придется создать несколько линейных сущностей в моем приложении. Если это невозможно через WPF, возможно ли это сделать в DriectX 9 или 10? Могу ли я смешать DirectX в WPF? Я имею в виду какой-то способ взаимодействия?

Большое спасибо,

Ответы [ 4 ]

5 голосов
/ 21 января 2010

WPF делает 3D, и делает это хорошо .

Вам понадобится класс Viewport3D для создания 3D.

Начиная с WPF 3.5 с пакетом обновления 1 (SP1), вы можете создавать DirectX и WPF, чтобы создавать довольно сложные 3D-приложения.

1 голос
/ 21 января 2010

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

Если вы не заинтересованы в работе с этим, вы также можете попробовать XNA внутри WPF. Таким образом вы сохраните свою управляемую среду (поскольку XNA заменила управляемый DirectX). Вот статья о том, как это сделать, хотя я на самом деле не пробовал.

0 голосов
/ 22 ноября 2012

3DTools библиотека на самом деле является плохим решением. Это не просто мое мнение. Например, протестируйте его, добавив к сцене 100-150 объектов из библиотеки 3DTools и попробуйте повернуть сцену. Это ответ относительно 3D Tools. Если вы хотите быстрой производительности в WPF 3D, вы должны создавать собственные сетки. Это не сложная задача, так как вы являетесь разработчиком 3D CAD. А также, если ваша задача касается примерно 1000-5000 простых 3D-объектов в сцене, используйте WPF 3D, нет проблем. Если более (или очень сложно): XNA, NET Wrappers из DirectX или OpenGL.

0 голосов
/ 03 августа 2011

Просто добавив к этому, что OpenTK, который является оболочкой для OpenGL, также можно использовать из приложения WPF, есть простой пример, который легко запустить и запустить на сайте OpenTK:

http://www.opentk.com/doc/chapter/2/glcontrol

...