Конечно, это возможно. Сколько кода вы хотите написать? Насколько хорошо это должно выглядеть?
Идея 3D в Silverlight такая же, как 3D во Flash. Вы можете сделать это, если вы в курсе тригонометрии и базовой алгебры. Это довольно легко, если вы не ржавый.
Во-первых, вам нужно будет экспортировать вершины в формат, который можно прочитать или встроить непосредственно в ваш проект. Затем вам нужно создать несколько треугольников и поместить их в массив.
Вы не можете делать освещение вершин очень эффективно, поэтому вы, вероятно, застряли с плоским затенением. Перед каждым кадром необходимо:
- Пройдите свою геометрию
- Применение ваших вращений и преобразований (положение, масштабирование)
- Настройте один треугольник в вашем массиве для каждого треугольника в вашей геометрии (с применением матриц)
- Сортируй свои треугольники обратно вперед
- Отрегулируйте цвет каждого треугольника (лучше всего один раз)
- 1020 * Etc. *
Вам будет трудно превзойти 1000 треугольников / 3000 вершин. Вы можете сделать это, но не если вы хотите делать другие вещи одновременно.
Так что да. Это вполне возможно, но не то, что готово и не интегрировано в Silverlight. В настоящее время нам приходится прибегать к способу создания 3D-графики, как в старые времена ... вручную.