Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.05.2012, 22:21
Anklav Anklav вне форума
Прохожий
 
Регистрация: 10.06.2011
Адрес: Харьков
Сообщения: 22
Версия Delphi: 7
Репутация: 10
По умолчанию 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, стрельба пробелом. Желтые пирамидки "убиваются" ))
Изображения
Тип файла: jpg 1.jpg (96.5 Кбайт, 26 просмотров)
Вложения
Тип файла: rar Танки 3D.rar (323.8 Кбайт, 44 просмотров)

Последний раз редактировалось Anklav, 25.05.2012 в 22:23.
Ответить с цитированием
  #2  
Старый 25.05.2012, 22:32
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

В OpenGL нет ничего для загрузки стронних моделей. На просторах (помой) сети можно найти примеры по загрузке из формата Х.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 25.05.2012, 22:59
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Странно, а вот я сразу че-то нашел:
Код:
Инициализация:
var
    Scene3DS: TAll3DSMesh;
...
    Scene3DS := TAll3DSMesh.Create(nil);
    Scene3DS.TexturePath := 'путь к папке с текстурами';
    Scene3DS.LoadFromFile('файл 3ds');
Перерисовка:
    Scene3DS.Render;
http://www.sulaco.co.za/opengl_proje...le_loading.htm
http://www.noeska.com/dogl/glModel.aspx
И кстати, зря на модели решил перейти. В кубизме тоже есть своя прелесть.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 25.05.2012 в 23:01.
Ответить с цитированием
  #4  
Старый 25.05.2012, 23:06
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Ты нашёл сторонние прибамбасы, таковых в "природе" до и больше, но...
Цитата:
... но хотелось бы попробовать реализовать все это без каких либо движков
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 25.05.2012, 23:12
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Лучше сохранять в .obj формат - он текстовый, Макс его поддерживает (импорт-экспорт), сам формат - текстовый, так что есть возможность разобраться в структуре. Перед экспортом модель желательно разбить на треугольники.
Ответить с цитированием
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение:
Anklav (25.05.2012)
  #6  
Старый 25.05.2012, 23:12
Anklav Anklav вне форума
Прохожий
 
Регистрация: 10.06.2011
Адрес: Харьков
Сообщения: 22
Версия Delphi: 7
Репутация: 10
По умолчанию

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

PS А кубики рисовал просто для того что бы было понятно куда что повернуто, и была возможность понимать правильно ли все работает, без потери кучи времени на рисование моделей с помощью точек.

YVitaliy, спасибо поищу
Ответить с цитированием
  #7  
Старый 25.05.2012, 23:20
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от YVitaliy
Лучше сохранять в .obj формат - он текстовый...
X также можно сохранить либо в текстовый, либо в бинарный формат.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Этот пользователь сказал Спасибо angvelem за это полезное сообщение:
Anklav (25.05.2012)
  #8  
Старый 25.05.2012, 23:25
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Нарыл на "винте" пример с загрузкой 3DS. Сам не пробовал. Когда-то скачал так и валяется. Могу выслать.

Эх, погорячился, используется GLScene.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.

Последний раз редактировалось angvelem, 25.05.2012 в 23:27.
Ответить с цитированием
  #9  
Старый 25.05.2012, 23:30
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

У меня тоже есть модуль для 3дс. Правда, я модель из него не использовал - загружал, а дальше "экспортировал" в свой собственный формат - двусторонние материаллы, параметры освещения мне никчему...

Я просто с форматом .х никогда не сталкивался (кроме примеров к DelphiX) так что сказать ничего не могу.
P.S Пример, кстати, скачанный с этого же сайта лет так 4 назад. Прога называется "3DS_Viewer" - простенькая, но понятная.
Вложения
Тип файла: rar Open3ds.rar (4.4 Кбайт, 59 просмотров)

Последний раз редактировалось YVitaliy, 25.05.2012 в 23:36.
Ответить с цитированием
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение:
Anklav (25.05.2012)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter