Как стать автором
Обновить

Комментарии 4

Спасибо, с удовольствием бы почитал, как сделать тоже самое, скажем, в приложении Windows Forms. В WF никакого класса камеры нету, следовательно придется сначала ее реализовать.
В WinForms GDI+ графика очень медленная. Неужели есть коммерческий проект для 3D на WinForms? В принципе, не так и сложно будет сделать.

Дело было лет двенадцать назад. Зашел к коллегам на компьютерную графику и на спор вызвался закодировать визуализацию замкнутого узла на Delphi. Не больше часа ушло, без сторонних библиотек. Без теней, но с переменной яркостью полигонов, в зависимости от угла между нормалью и направлением на источник света. Графика в Delphi — CGI, чуть проще чем CGI+. И задача похожа на этот тор, только вращение не по окружности, а по кривой реализовано, рассчитанной в полярных координатах.
Основным строительным блоком в WPF является mesh, перевода термина на русский я не нашел, но думаю можно перевести как треугольный сегмент или просто треугольник.

Mesh — это «сетка». Точнее полигональная сетка, которая может состоять из нескольких полигонов. Чаще всего под полигоном понимается треугольник, т.к. основные GAPI (OpenGL, DirectX) и аппаратный рендеринг оперируют треугольниками, но, в целом, может быть любым многоугольником (не обязательно даже выпуклым, если это упрощает решение задачи).
На мой взгляд неправильно спозиционирована статья. «Построение тора средствами WPF» лично для меня звучит как «В WPF несложно сгенерировать и нарисовать 3D-модель. Вот как это сделать».
В таком ключе статья больше вредна, чем полезна, т.к. новичок будет руководствоваться ею и пытаться что-то сделать таким путем. При этом 3D-моделирование средствами одного лишь WPF — тупиковый путь. Есть ХНА, есть NeoAxis, есть Unity 3D. Их производительность значительно лучше.

Другое дело тема «Генерации 3D-модели в C#», т.е. без рендеринга изложенные выкладки могут быть полезны.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории