Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2013, 22:40   #1
sinestro
Пользователь
 
Регистрация: 24.02.2012
Сообщений: 88
По умолчанию загрузчик из 3dmax файлов в OpenGL

решил я с другом игрушку писать на С++ и OpenGL. собственно задался я целью перегнать модели из 3дмаксовских файлов в Opengl код.перелопатил кучу форумов, и везде дядьки говорят "напиши загрузчик", а коим макаром его писать никто не поясняет. Ещё приговаривают "всё просто" ))) если открыть максовский файл блокнотом, то там виден только беспорядочный набор символов. разьясните пожалуйста как осуществить такое дело
sinestro вне форума Ответить с цитированием
Старый 28.06.2013, 22:53   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

max файлы вы не загрузите.
экспортируйте в открытые форматы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.06.2013, 23:04   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
коим макаром его писать никто не поясняет.
http://masandilov.ru/opengl/3ds-loader
Сам 3DMax еще не расстался с этим форматом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.06.2013, 18:47   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от sinestro Посмотреть сообщение
решил я с другом игрушку писать на С++ и OpenGL. собственно задался я целью перегнать модели из 3дмаксовских файлов в Opengl код.перелопатил кучу форумов, и везде дядьки говорят "напиши загрузчик", а коим макаром его писать никто не поясняет. Ещё приговаривают "всё просто" ))) если открыть максовский файл блокнотом, то там виден только беспорядочный набор символов. разьясните пожалуйста как осуществить такое дело
Так а вы, именно игрушку пилите? Или движок + игрушка?
Расскажите подробнее про разработку?
_Bers вне форума Ответить с цитированием
Старый 29.06.2013, 19:57   #5
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
разьясните пожалуйста как осуществить такое дело
например экспортировать модель в *.Obj, он текстовый, описание формата в гугл забей.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 01.07.2013, 04:01   #6
sinestro
Пользователь
 
Регистрация: 24.02.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Так а вы, именно игрушку пилите? Или движок + игрушка?
Расскажите подробнее про разработку?
Сначала движок, потом игрушку. Чужие движки не интересно использовать. Хочется своё сделать. Никаких финансовых целей с другом не преследуем, интересно просто нам. Я закончил второй курс института(программная инженерия). Учили в универе C++, OpenGL, Java(которая мне не очень понравилась), с#, и даже MySQL. Учили не углублённо, но мне ничто не помешает открыть книжку и поучить нужный мне материал, если понадобится. Игрушка будет с мутантами и неведомым генератором, который своим излучением их породил. Друг ещё сценарий пишет))) Модели текстуры и т.д. друг будет делать, а я кодить. И то, что на это всё уйдёт много времени - я тоже знаю.

Цитата:
Сообщение от intmain Посмотреть сообщение
например экспортировать модель в *.Obj, он текстовый, описание формата в гугл забей.
Stilet уже дал очень полезную ссылочку. Там пример считывания из 3ds формата и перевода в OpenGL.
За совет *.Obj тоже спасибо, но был бы рад, еслиб тыкнули меня носом туда где есть пример перевода из *.Obj в OpenGL.))
И ещё такой вопрос. я так понимаю OpenGL от DirectX по качеству графики ничем не отличается. Просто программисты криворукие бывают. я прав?))

Последний раз редактировалось sinestro; 01.07.2013 в 04:05.
sinestro вне форума Ответить с цитированием
Старый 01.07.2013, 05:34   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от sinestro Посмотреть сообщение
И ещё такой вопрос. я так понимаю OpenGL от DirectX по качеству графики ничем не отличается. Просто программисты криворукие бывают. я прав?))
качество графики зависит не от библиотеки, а от того как вы примените оную.
только не забывайте что OGL уж как имеет версию 4,3.
где в текущей версии(без совместимости если), нет никаких glBegin/glEnd.

+DirectX более глобальная библиотека(имеет и звук и тп).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.07.2013, 22:03   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
например экспортировать модель в *.Obj, он текстовый, описание формата в гугл забей.
Грузить из текстового формата - это жесть!

Насколько мне известно:
- Внутренний формат Макса подходит только для Макса и ни для чего более, т.к. описывает не собственно модель, а последовательность ее создания и редактирования.
- Макс содержит средства для выгрузки модели в любом пользовательском формате.
- Экспорт в 3ds сам Макс, как это ни парадоксально, делает с ошибками. Да и сам формат 3ds официально не документирован.

Отсюда вывод:
прочитать описания 3-4 существующих форматов для хранения 3D-моделей. Например, уже упомянутый .obj, а также .x (DirectX), .lwo, 3ds, .pak(Quake 3) и т.д. И на основании полученной информации разработать собственный формат, для которого потом написать утилиту экспорта из Макса.
s-andriano вне форума Ответить с цитированием
Старый 01.07.2013, 22:43   #9
sinestro
Пользователь
 
Регистрация: 24.02.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Грузить из текстового формата - это жесть!

Насколько мне известно:
- Внутренний формат Макса подходит только для Макса и ни для чего более, т.к. описывает не собственно модель, а последовательность ее создания и редактирования.
- Макс содержит средства для выгрузки модели в любом пользовательском формате.
- Экспорт в 3ds сам Макс, как это ни парадоксально, делает с ошибками. Да и сам формат 3ds официально не документирован.

Отсюда вывод:
прочитать описания 3-4 существующих форматов для хранения 3D-моделей. Например, уже упомянутый .obj, а также .x (DirectX), .lwo, 3ds, .pak(Quake 3) и т.д. И на основании полученной информации разработать собственный формат, для которого потом написать утилиту экспорта из Макса.
Вы имеете ввиду одну и ту же модель вытянуть из макса в нескольких разных форматах, а потом собирать один кусок из OBJ , другой кусок ещё откудато? я ознакомился с форматом OBJ. для него загрузчик написать просто, но насколько я понял обж содержит только координаты точек, текстурные координаты и нормали. Но если я в максе сделаю обьект ширшавым, как например в этом уроке http://www.youtube.com/watch?v=mrNaT...9729460EC423E4
как мне такой эффект в опенжл перенести? или это шейдеры, про которые отдельно читать надо? и если я допустим захочу в максе сделать так, чтобы например человек ногами двигал, из какого формата такое считать можно будет? ибо вручную абсолютно все движения персонажа описывать будет оч долго
sinestro вне форума Ответить с цитированием
Старый 01.07.2013, 23:33   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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

с анимацией не знаю как, не смотрел, даже не знаю экспортирует ли кости макс.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 01.07.2013 в 23:36.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простой загрузчик файлов по прямым ссылкам burning1 Помощь студентам 9 03.09.2012 23:10
Безотказный квартет 3DMax, ASE, Delphi, OpenGL не функционирует, смотрим внутри Vova777 Gamedev - cоздание игр: Unity, OpenGL, DirectX 22 06.05.2012 20:52
Шустрый загрузчик файлов W0LF Работа с сетью в Delphi 1 17.12.2009 23:23
3Dmax И C++ FLASH-KILLER Общие вопросы C/C++ 1 06.08.2009 00:40
3dmax и DelphiX, конвертация. xPAL Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 03.02.2008 18:57