Форум программистов, компьютерный форум CyberForum.ru

Структура 3D моделей - C++

Восстановить пароль Регистрация
 
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
23.06.2014, 18:24     Структура 3D моделей #1
помогите пожалуйста составить общую структуру 3D-моделей, т.е. там во всех форматах в основном используются же одни и те же свойства: вершины, грани, материалы и т.п. я просто хочу составить такую общую структуру, а потом для каждого 3D-формата (ну может не для каждого, а для нескольких основных) написать загрузчик экспортирующий данные из файла в эту структуру, пишу на C, C++, ну в принципе знаю еще Delphi, может кто то набросать мне ориентировочную структурку?

что то типа
C
1
2
3
4
5
6
typedef struct
{
SubStruct1 item1;
SubStruct2 item2;
int item3
} 3DMODEL;
Добавлено через 23 часа 34 минуты
хэлп !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2014, 18:24     Структура 3D моделей
Посмотрите здесь:

C++ Builder Загрузка моделей.
Visual C++ программа с функцией определения моделей 3д на позиционирование
C++ Структуры. Отбор в школу моделей
структура C++
C++ Структура, доступная из всех файлов проекта ("глобальная" структура)
Напечатать названия моделей авто, у которых максимальная скорость больше 180 км/ч C++
Построение и программная реализация автоматных моделей языков C++
Программа управления проектором Nec моделей VT60, VT70, VT80, VT90, VT700, LT170 по порту Rs232 C++
Массивы Функций. DirectX 11. Отобразить несколько моделей C++
Загрузка моделей из автокада и отображение на форме: Чем парсить модели? C++
C++ Структура DateTime, битовая структура
Загрузка моделей из Blender'а в OpenGL C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1594 / 986 / 117
Регистрация: 27.09.2009
Сообщений: 1,902
Завершенные тесты: 1
23.06.2014, 20:24     Структура 3D моделей #2
Эти структурки - следствие формата, в котором представляется модель. Варианты бывают разные, поэтому для себя надо сделать выбор, исходя из того, какая именно информация должна содержаться в файле. Представлять ли геометрию непрерывным набором вершин или использовать индексный массив? Собирать ли в единую сущность всю информацию о вершине или сделать несколько разных "срезов"? Использовать ли представление в виде стрипов? Ну и многие другие вопросы. Когда есть полная ясность с форматом, структуры естественным и очевидным образом вытекают из него.
Erik945
29 / 1 / 1
Регистрация: 30.08.2013
Сообщений: 36
30.07.2014, 13:14     Структура 3D моделей #3
Немножко копался в игровых движках, они очень здорово различаются, в самых общих чертах можно сказать следующее (принимается что все данные запиханы в один файл, а не так, что материалы отдельно, скелет отдельно, УВВ тоже отдельно):

Массив и иерархия костей. Каждая кость определяется положением, направлением, и связями (родители и потомки). Перемещение/поворот родителя перемещает/поворачивает его потомков.

Массив отдельных объектов. Для каждого материала заводится отдельный объект.
Соответственно должно быть описание материала (набор текстур, параметры вроде используемых шейдеров) и массив полигонов (сгруппированные индексы вершин). Если речь идет о Directx работаем только с треугольниками.

Массив вершин. каждая вершина описывается тремя координатами в трехмерном пространстве, двумя координатами UVW и привязкой к соответствующим костям (ID кости и коэффицент). Костей может быть несколько.

Собственно все. Сгруппировано все это может быть как угодно. Например УВВ вынесены в отдельный массив, или весь массив полигонов описан в одном месте, а в объекте указанно только смещение относительно начала файла и их количество.
Nick Alte
Эксперт С++
1594 / 986 / 117
Регистрация: 27.09.2009
Сообщений: 1,902
Завершенные тесты: 1
30.07.2014, 18:30     Структура 3D моделей #4
Ну вот, с этим в руках уже можно и составлять структуры и прочие разные весёлости.
Yandex
Объявления
30.07.2014, 18:30     Структура 3D моделей
Ответ Создать тему
Опции темы

Текущее время: 12:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru