ПрограммированиеФорумОбщее

Помощь новичку

Страницы: 1 2 3 Следующая »
#0
13:37, 6 июля 2009

Здравствуйте, уважаемые!
По необходимости пытаюсь влезть в 3D-программирование, хотя опыта нет.
Задача простая, но и времени всего месяц. Требуется написать программку-демонстратор полёта самолёта с возможностью вращения относительно всех 3-х осей. Траектория самолёта должна прорисовываться линией. Плюс вращение камеры и масштабирование.
Начал с рисования примитивов в VC++ 9.0 при помощи библиотеки glaux, но так буду долго двигаться.

Просьба указать направления дальнейшего движения для скорейшего достижения цели:)

Возможно использование готовых бесплатных движков, наиболее пригодных для моей задачи.

#1
13:43, 6 июля 2009

точка отправления: http://www.gamedev.ru/code/forum/?id=120809
пункт назначения: http://www.google.ru/
вроде все, курс задан. в следующий раз нужно спрашивать по существу. и хотябы читать то, что еще есть на форуме.

#2
13:59, 6 июля 2009

bool
Блин, и не лень было тратить время, чтобы сказать гадость? Человек вполне конкретно вопрос задал.

#3
14:02, 6 июля 2009

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

нужно не позволять создавать темы N дней после регистрации, и сделать доступным поиск и Read-only :))
тогда все-все-все новички(и те кто только зарегистрировались и вообще новички) будут сначала видеть, что им доступна такая великая штука, как поиск по форуму. а потом уже смогут задавать вопросы.

#4
14:07, 6 июля 2009

shurik_br
из движков можно взять любой 3D движок, тот же Ogre, Irrlicht, только дело в том, что они не адаптированы под рисование самолетов, потому прийдется немножко поработать над тем, чтобы движок рисовал именно самолет, а линии рисовать умеют :)
камеры в огре есть, в иррлихте не знаю, наверное тоже.

#5
14:16, 6 июля 2009

bool
я как раз с поиска и начал. только не пришло мне в голову как правильно сформулировать запрос для поиска под мою задачу. пока тупо просматриваю заголовки тем в надежде нарыть нужную мне ветку, но тут в основном конкретика обсуждается. я до неё ещё не дошёл, потому и спросил совета по выбору направления движения. пока у меня два варианта:
1. продолжать двигаться по пути планомерного изучения азов 3d-программирования. но тут критичен вопрос времени. плюс пока плохо представляю себе как из примитивов нарисовать полноценную модель самолёта и потом её правильно крутить в пространстве.
2. использовать готовый бесплатный движок, но, насколько я понимаю, универсальных нет, вот и жду совета по выбору оптимального опять же под мою задачу. пусть он будет тормознутый, малофункциональный, но желательно с возможностью подгрузки модели из какой-нить 3d-рисовалки.

Ну а если у кого-нить валяется моделька самолёта написанная при помощи opengl и не жаль ей, то вообще супер:) движение я уж как-нить осилю.

Прошу прощения за много слов.

#6
14:22, 6 июля 2009

shurik_br
для Ogre есть экспортеры из разных пакетов моделирования, есть загрузчик своего формата мешей. есть все необходимое, но не знаю, он может показаться сложноватым сначала. по-крайней мере, если сравнивать с glaux/glut  чем-то таким. потому что огр это полноценный 3D движок. IrrLicht говорят очень простой, тоже позволяет грузить меши и прочее, сам я его не использовал. оба движка с открытым кодом.

а вот моделей, увы, лично у меня нет.

#7
14:35, 6 июля 2009

так тебе самолет рисовать или линию траектории?

если просто линию - glBegin(GL_LINES) итд

если самолет то надо вкратце:
1) взять где-то 3d модель (сборники моделей 3D Max)
2) сохр. в ASE формат (текст, легко разобрать)
3) загрузить этот файл в своей программе
4) отрисовать через glBegin(GL_TRIANGLES)

для управления вводишь переменные
CVector3 pos;
CVector3 dir;
CVector3 up;
float velo;
каждый квант времени
pos+=velo*dir*dt;
можно добавить ускорение/торможение

ориентация самолета задается векторами dir (вперед) и up (вверх-относительно самолета)
pos,dir,up передашь в gluLookAt
ставишь мышь по центру экрана
если сдвинулась - находишь ось вращения (она перпендикулярна смещ-ю мыши и z=0)
вращаешь вокруг нее dir и up
ставишь мышь по центру экрана
перерисовываешь

все

#8
14:37, 6 июля 2009

shurik_br

Уроки по ОГЛ можно взять на сайте nehe.gamedev.net.

"...как из примитивов нарисовать полноценную модель самолёта..."

Модель самолёта создаётся, как правило, в одном из редакторов 3Д графики ( Blender, 3DMax, и т.п. ) и представляет собой, как правило, набор треугольников. Далее в твоей программе мы загружаем из файла полученную модель и, опять же, по треугольникам отрисовываем её. Формат файла в котором сохранена модель это или родной формат 3д редактора, или какой-то другой формат, или твой собственный.

"...и потом её правильно крутить в пространстве..."

С помощью функций glTranslated(), glRotated() можно, соответственно переместить и повернуть.

#9
14:41, 6 июля 2009

bool, Aslan
Спасибо за начальную информацию! переварю пока её:)

#10
17:21, 6 июля 2009

Очень тупой вопрос: как в visual c++ получить ехе файл? Все перетыкал!

#11
17:27, 6 июля 2009

КЕН
> как в visual c++ получить ехе файл?
F5

#12
17:33, 6 июля 2009

Да ну? А это разве не просмотр полученой проги? В дериктории проекта нет после этого никакого ехе-ка.

#13
17:37, 6 июля 2009

КЕН
> В дериктории проекта нет после этого никакого ехе-ка.
Ошибки в студию.

#14
17:40, 6 июля 2009

Как исправить или где скачать нормальныи?

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.