|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
OpenGL (загрузка моделей и освещение)
Пытаюсь научится работать с 3д графикой, посчитал что лучше всего начать с OpenGL.
Написал примитивный 3д движок, опять связанный с танками Суть вопроса, мне бы было легче загружать модели откуда то, почитал что можно делать модель в 3Ds Max сохранять в ASE и загружать потом модель, но как это делать нигде внятно не написано, к сожалению. Может кто имел с этим дело? (PS про GLScene в курсе, но хотелось бы попробовать реализовать все это без каких либо движков) И про освещение Написал код, но и с ним по краям карты, если покрутится там, все становится то темным то светлым, не пойму в чем проблема. Код:
var light_position:TGLArrayf4; light_ambient:TGLArrayf4; light_dir:TGLArrayf3; <...> glPushMatrix; light_position[0]:=20;//x light_position[1]:=20;//y light_position[2]:=60;//z light_position[3]:=1; light_dir[0]:=20; light_dir[1]:=20; light_dir[2]:=50; light_ambient[0]:=0.7; light_ambient[1]:=0.7; light_ambient[2]:=0.7; light_ambient[3]:=1; glLightfv(GL_LIGHT0,GL_POSITION,@light_position); glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, @light_dir); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, @Light_ambient); glPopMatrix; И да в примере управление стрелками, поворот башни кнопками A и D, стрельба пробелом. Желтые пирамидки "убиваются" )) Последний раз редактировалось Anklav, 25.05.2012 в 22:23. |
#2
|
||||
|
||||
В OpenGL нет ничего для загрузки стронних моделей. На просторах (помой) сети можно найти примеры по загрузке из формата Х.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
||||
|
||||
Странно, а вот я сразу че-то нашел:
Код:
Инициализация: var Scene3DS: TAll3DSMesh; ... Scene3DS := TAll3DSMesh.Create(nil); Scene3DS.TexturePath := 'путь к папке с текстурами'; Scene3DS.LoadFromFile('файл 3ds'); Перерисовка: Scene3DS.Render; http://www.noeska.com/dogl/glModel.aspx И кстати, зря на модели решил перейти. В кубизме тоже есть своя прелесть. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 25.05.2012 в 23:01. |
#4
|
||||
|
||||
Ты нашёл сторонние прибамбасы, таковых в "природе" до и больше, но...
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
||||
|
||||
Лучше сохранять в .obj формат - он текстовый, Макс его поддерживает (импорт-экспорт), сам формат - текстовый, так что есть возможность разобраться в структуре. Перед экспортом модель желательно разбить на треугольники.
|
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
Anklav (25.05.2012)
|
#6
|
|||
|
|||
Ребят, я как бы знаю что в OpenGL нет функции загрузки моделей, я спрашивал может кто с этим работал, и знает хотя бы с каким форматом работать проще, и осведомит меня о его структуре, может даже алгоритм подскажет
PS А кубики рисовал просто для того что бы было понятно куда что повернуто, и была возможность понимать правильно ли все работает, без потери кучи времени на рисование моделей с помощью точек. YVitaliy, спасибо поищу |
#7
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Anklav (25.05.2012)
|
#8
|
||||
|
||||
Нарыл на "винте" пример с загрузкой 3DS. Сам не пробовал. Когда-то скачал так и валяется. Могу выслать.
Эх, погорячился, используется GLScene. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 25.05.2012 в 23:27. |
#9
|
||||
|
||||
У меня тоже есть модуль для 3дс. Правда, я модель из него не использовал - загружал, а дальше "экспортировал" в свой собственный формат - двусторонние материаллы, параметры освещения мне никчему...
Я просто с форматом .х никогда не сталкивался (кроме примеров к DelphiX) так что сказать ничего не могу. P.S Пример, кстати, скачанный с этого же сайта лет так 4 назад. Прога называется "3DS_Viewer" - простенькая, но понятная. Последний раз редактировалось YVitaliy, 25.05.2012 в 23:36. |
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
Anklav (25.05.2012)
|