Вызывает ли D3DImage проблемы с воздушным пространством? - PullRequest
1 голос
/ 14 марта 2010

Сцена DirectX может быть нарисована внутри WindowsFormsHost, но это решение касается борьбы с некоторыми проблемами взаимодействия, в основном с проблемой «воздушного пространства». Таким образом, перед созданием всей инфраструктуры для этого я хотел бы знать, не вызовет ли D3DImage, используемый в окне WPF, одинаковые проблемы с наложением и изменением размеров, как описано в документе WindowsFormsHost? Или он предназначен для полной совместимости с системой WPF? Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 15 марта 2010

На странице MSDN D3DImage Class вы можете видеть, что D3DImage просто происходит от ImageSource. Поэтому, когда он используется элементом управления, таким как Image, это просто источник. Это совсем не меняет контроль, поэтому все эти неприятные проблемы воздушного пространства - история. Он также позволяет вам делать все, что вы привыкли делать с элементами управления, а теперь и с контентом D3D, например получать события мыши, изменять прозрачность и применять преобразования.

Тем не менее, он не без улова. Как указано в msdn, он не будет работать через подключения к удаленному рабочему столу, и существуют серьезные проблемы с производительностью. (Может потребоваться некоторая настройка)

Если вы хотите сделать такое тяжелое приложение для DirectX, как игра, я бы посоветовал вам изучить непосредственное использование DirectX или среду разработки игр Microsoft XNA. Для получения дополнительной информации посетите XNA Developer Center .

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

Хотя лично я не видел, чтобы во многих проектах использовался элемент управления D3D, возможностей, безусловно, много.

Удачи,

...