Импортировать модели из 3ds Max в программу SharpGL (OpenGL / C #)? - PullRequest
1 голос
/ 13 марта 2012

Я работаю с SharpGL и у меня есть модель .3ds, которую я хочу рендерить в моей программе.

Я ищу пример кода или учебник, чтобы начать работу.

Редактировать: Работа с .NET для создания приложения WPF с элементом управления SharpGL для чертежа OpenGL.

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

Вам нужно написать импортер / читатель / загрузчик форматов файлов. Сам. Что является основной болью. Хорошо, что формат файла .3ds хорошо известен и задокументирован .

Однако, плохо, что формат .3ds устарел и не хранит все данные, которые требуются современному 3D-приложению. Например, он не хранит поверхностные нормали и не поддерживает скин-сетки. Я писал 3ds Reader, это было не очень весело. Еще одна хорошая вещь - кто-то, возможно, уже писал 3ds loader, и вы можете найти его с помощью Google. Плохо то, что (по закону Мерфи) они, вероятно, реализовали его таким образом, что сделают его совершенно непригодным для использования с вашим кодом.

Поэтому обычно рекомендуется использовать какой-либо другой хорошо документированный формат (и вместо этого написать программу чтения для формата THAT). Или вы можете пойти дальше и разработать свой собственный формат для моделей, который поддерживает все, что вы хотите. Однако для экспорта в ЭТОТ формат из 3ds max вам потребуется собственный плагин-экспортер для 3ds max (с использованием 3ds max sdk), который требует большого знакомства с трехмерной математикой и программированием (в C ++). Я уже писал несколько экспортеров, и это тоже большая боль.

Таким образом, более простым решением было бы использование некоторого простого формата, который позволяет вам легко писать загрузчик. Что-то текстовое, например * .dxf. Или вы можете найти другой формат файла 3d-модели, который, как мы надеемся, поставляется с библиотекой для его загрузки. Например, collada может быть одним из кандидатов, хотя мне лично очень не нравится тот факт, что он использует XML.

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

Проверьте уже доступную запись в этом контексте.

3ds max объект для opengl

Сатиш

...