Silverlight лучше или wpf для графики, 3d? - PullRequest
0 голосов
/ 16 марта 2011

Я изучаю wpf / silverlight в настоящее время.Я хочу спросить, какой из них лучше для графики, 3d, ...?

Ответы [ 3 ]

2 голосов
/ 16 марта 2011

Люди говорят, что «Silverlight - это подмножество WPF» - они имеют в виду, что модель программирования такая же (код + XAML), но Silverlight обычно имеет меньший API / меньше функций, чем WPF.

Я думаю, что хорошим примером было бы создание отражения. В WPF вы можете использовать VisualBrush, но Silverlight не поддерживает его. Тем не менее, вы можете создать тот же эффект, создав 2-й преобразованный элемент. Вы можете в значительной степени выполнить одну и ту же задачу в обеих, хотя для Silverlight вам, возможно, придется выполнить некоторые задачи обработки на сервере.

Выбор платформы зависит в большей степени от того, хотите ли вы настроить веб-развертывание или нет, и, возможно, от производительности.

3D не реализовано в Silverlight 4 (хотя есть и 3D-библиотеки). 3D станет частью Silverlight 5. (Бета-версия появится в ближайшее время, возможно, в MIX и будет выпущена в этом году.)

1 голос
/ 16 марта 2011

я бы рекомендовал wpf в WPF, у вас есть все виды Viewport, где вы можете делать настоящие 3d, в Silverlight у вас есть PlaneTransformation, но это не близко к реальному 3d WPF 3d учебник

0 голосов
/ 15 марта 2012

Дело глубже, насколько я понимаю. Мы поговорим о WPF и Silverlight 5. Существует два механизма 3D-графики. До WPF это был один - так называемый конвейерная графика . Он включает в себя DirectX, OpenGL и несколько производных и независимых реализаций (например, XNA от DirectX). Хотя WPF основан на DirectX, он реализует совершенно другую концепцию умной графики . В чем разница для конвейера и интеллектуального механизма? Механизм конвейера состоит из бесконечного цикла рисования объектов - обычно таких примитивов, как вершины, треугольники. Он работает путем инициализации так называемого бесконечного цикла, вызывая что-то вроде OnDraw / ReDraw метод. WPF не использует ReDraw и не рисует ничего, пока мы не обнаружим это напрямую. Это единственный правильный способ его использования. Поэтому WPF позволяет рисовать элементы пользовательского интерфейса с внутренней поддержкой сотен событий, методов и полной свободой управления (как, например, обычный элемент управления WPF - текстовое поле, например). (Helix 3D - хорошая библиотека для простого перехода к WPF 3D) И наоборот, Silverlight 5 имеет некоторый API-интерфейс для графики XNA - конвейер без поддержки UIElement для 3D-объектов. Есть библиотека Kit3D http://kit3d.codeplex.com/ как очень хорошая идея для smart графической реализации для Silverlight, и есть много других реализаций (Balder, Babylon) на механизме pipe . Если вам интересно написать приложение, такое как web 3D Game - выберите конвейерную 3D-графику Silverlight, если вас интересуют умные 3D-приложения - выберите WPF 3D.

Автор системы WPF 3D CAE TIMO Structural.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...