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

C++

Войти
Регистрация
Восстановить пароль
 
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
#1

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

23.06.2014, 18:24. Просмотров 603. Ответов 3
Метки нет (Все метки)

помогите пожалуйста составить общую структуру 3D-моделей, т.е. там во всех форматах в основном используются же одни и те же свойства: вершины, грани, материалы и т.п. я просто хочу составить такую общую структуру, а потом для каждого 3D-формата (ну может не для каждого, а для нескольких основных) написать загрузчик экспортирующий данные из файла в эту структуру, пишу на C, C++, ну в принципе знаю еще Delphi, может кто то набросать мне ориентировочную структурку?

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

Построение и программная реализация автоматных моделей языков - C++
Доброе время суток всем. Будьте так любезны кто знает или умеет напишите пожалуйста примеры конечных автоматов. Можно в принципе и на...

Загрузка моделей из автокада и отображение на форме: Чем парсить модели? - C++
Имеется введенное в эксплуатацию приложение написанное на C++ с использованием Qt. Основная целевая система - Windows. Но под линуксом...

Программа управления проектором Nec моделей VT60, VT70, VT80, VT90, VT700, LT170 по порту Rs232 - C++
Помогите написать программку на С++ или ассемблере, которая посылала бы простейшие команды на проектор, уже неделю пытаюсь разобраться,...

Загрузка моделей. - C++ Builder
Всем привет, дорогие друзья. подскажите пожалуйста, что использовать и как загрузить 3D модель в специальную область - форму? Интересны...

программа с функцией определения моделей 3д на позиционирование - Visual C++
Можно ли написать программу С++ с функцией определения моделей 3д на позиционирование.Чтобы компьютер узнавал человека,например.

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по "Основы программирования",кто сколько сможет сделать задач, тем всей группой поставим "+"...

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

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

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

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

Собственно все. Сгруппировано все это может быть как угодно. Например УВВ вынесены в отдельный массив, или весь массив полигонов описан в одном месте, а в объекте указанно только смещение относительно начала файла и их количество.
0
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
30.07.2014, 18:30 #4
Ну вот, с этим в руках уже можно и составлять структуры и прочие разные весёлости.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2014, 18:30
Привет! Вот еще темы с ответами:

Структура таблицы для ввода номенклатуры в БД Аксесс 2003+ структура изделия - MS Access
Доброго времени суток форумчане! Продолжаю писать свою самоделку, возник вопрос: Номенклатуру в БД надо вводить в одно поле (...

Структура проектов, структура выходного каталога и пользовательские расширения сборок - Visual Studio
В общем есть решение из нескольких проектов. Есть зависимости от сторонних библиотек. Требуется сделать так, чтобы при компиляции этого...

Структура «База», сущности «Универсам» и «Продукты», структура «Товар» - C++
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

Структура=>Список=>Снова структура. - Prolog
Определите предикат argrpl(Term,N,Arg,NTerm), заменяющий N-ый компонент в структуре Term на новый компонент Arg и помещающий результат в...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
30.07.2014, 18:30
Ответ Создать тему
Опции темы

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