2015-07-29 5 views
0

У меня есть код, который анализирует файл .3ds и uplaod в сетке. У меня есть пара файлов .3ds, но в моем коде есть ошибка. Так что прямо сейчас я пытаюсь создать простой файл .3ds (или один треугольник или куб), но я не уверен, как создать файл .3ds.Как сделать .3ds файл для простого треугольника

Файлы, которые я сейчас имею, зашифрованы. Я нашел пару на других сайтах, и у них нет более простых моделей.

Как вы делаете файл .3ds для простого треугольника и куба? Есть ли существующее программное обеспечение, которое может сделать это? или я могу написать сценарий для этого?

ответ

1

создания 3ds файл немного сложнее, то разбор его

Потому что вы должны использовать все куски, необходимые для 3D-студии в их порядке, без каких-либо ошибок. При разборе вам нужны только геометрия, матрицы и текстуры, и они могут игнорировать остальные. 3ds Файл-формат не открыт и только частично декодирован/задокументирован, поэтому это может быть трудной задачей.

Я хотел бы сосредоточиться на отладку самого парсера вместо:

  1. скачать стольких 3ds файлов, как вы можете

    Например из TurboSquid есть довольно много свободных 3ds файлов просто выберите фильтры для:

    • максимальная цена 0
    • * .3DS добавочные
    • 3D моделей
  2. сортировать их по типу

    • геометрия только
    • с цветами
    • с текстурами
    • с суб сетками
    • и комбинации
  3. (только геометрия) начала декодирования простейших

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

К сожалению, мой C++ 3ds парсер составляет около 54 МБайт

Что почти в два раза предел ответа тела здесь, так что я не могу разместить его здесь напрямую.Кроме того, это означает, что вы не можете размещать здесь весь свой код (только перечисление перечислений составляет почти 30 КБ), поэтому старайтесь сосредоточиться только на важных вещах. Когда вы нажимаете конкретный адрес проблемы, введите 3ds файл + изображение вашего вывода + список блоков, которые вы используете и игнорируете, поэтому мы можем реально помочь.

I кода это несколько лет назад, она является частью более крупной Lib шахты, так что код не является целым. Он содержит только часть парсинга 3ds + экспорт в класс геометрии шахт на основе OpenGL VBO, но этого должно быть достаточно для сравнения с вашим кодом, чтобы увидеть, где проблема. Этот анализатор также не работает на 100%, все еще есть некоторые файлы, которые он не поддерживает правильно (следовательно, имена каталогов). См. load и save функции-члены ...

+0

hmm все, что мне нужно, - это простой файл cube .3ds. Мой код работает. Я тестировал это раньше. Но я добавил к нему новые функции, и я не могу проверить новые функции на других сложных сетках. Есть ли какие-либо простые сетки, которые я могу скачать? Turbosquid, кажется, очень сильно разбирался в материалах и несколько дороже – JayC

+0

@JayC на turbosquid также являются бесплатными сетками, а некоторые довольно просты ... просто выберите фильтр цены в верхней части страницы ... Также вы можете загрузить этот почтовый ящик (ссылка на сайт ответа не требуется для регистрации, чтобы загрузить/загрузить файлы ...) и выбрать несколько файлов 3ds с небольшим размером, например 'f14.3ds' или' teapot.3ds' внутри каталога '_OK_noColor', и протестировать их (но это далеко не единственный куб) – Spektre