Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > загрузка 3D объекта


Автор: =Женек= 28.6.2005, 11:15
Я пишу простенькую программу под Builder. Уже почти написал. В одном из окошек должен загрузиться 3D объект из файла.

Я знаю, сейчас меня будут отправлять к мануалам и пр. Но поймите если бы я писал 3Д программу, я бы конечно потратил кучу времени и изучил бы всю теорию. Однако мне жто не нужно, мне нужно всего лишь загрузить объект в окошко на созданной в buildere форме. Я догадываюсь что без всех наворотов это делатется в 20 строк.


Подскажите плз. Может есть компоненты для builderа?

Автор: Div 29.6.2005, 22:33
А чем ты пользуешься? Если DirectX, то надо:
1. Создать Direct3D.
2. Описать вид камеры.
3. Загрузить объект (Например: obj.CreateFromFile (p_d3d_Device, "file.x");).
4. Описать свет.
5. Наложить на объект текстуру.
6. Вывести.

Автор: =Женек= 30.6.2005, 08:08
ээ.. я вообще ничем не пользуюсь. Потому и спрашиваю.

Кстати сопутствующий вопрос: DirectX и OpenGL -это две конкурирующие технологии? Или это как CorelDraw и PhotoShop - сравнивать которые бесполезно, потому что принцип разный.


Div, я понимаю, что это не очень хороший тон - происть готовый код, но тем не менее - мне разбираться некогда, да и цели такой пока нет - в сосвершенстве овладеть 3D.
Мне бы конкретный пример, я выводы из него я сделаю сам.

P.S. Честно, я искал в нете. Не нашел...

Автор: Alastis 30.6.2005, 09:49
=Женек=
Direct3D и OpenGL - это конкурирущие технологии, но сравнивать их все равно бесполезно smile холивар.
И в сети, действительно, очень много материала как по DirectX, так и по OpenGL. Можешь зайти на http://gamedev.ru, к примеру и поискать там. Или, если есть DirectX SDK, смотри сэймплы и тутториалы оттуда. Ну а если знаешь английский более менее, то вообще раздолье

Автор: =Женек= 30.6.2005, 10:29
Спасибо большое, инфы много, но есть две проблемы:
1. Нет инфы для загрузки объектов из файла. А мне нужнв модель человека, причем каждый сегмент тела - отдельный объект. Кубиками примитивами не построишь.

2. Как мне сделать, чтобы физуализация шла не во всем окне, а на части формы? Например компонент TBevel, а в центре его отступя по 1 пикселу - картинка.

Автор: Nemesis 30.6.2005, 11:30
Если тебе это действительно срочно нужно, то могу помочь. Недавно делал такую фишку, но рисовал простые примитивы в Form Builder`а. Довольно классная вещь Builder + OpenGL.
Найдешь меня ты после 12 по сему адресу аси 294-130-047.
Добавлено @ 11:31
Стоит уточнить, после 12 ночи.smile

Автор: Alastis 30.6.2005, 11:38
=Женек=
а почему необходимо, чтобы каждый сегмент тела был отдельным объектом? нужно будет расчленять?

Автор: =Женек= 30.6.2005, 12:10
нет. Указывать мышкой области. То есть там еще и каждый сегмент будет расчленен на поверхности (передняя, задняя внутренняя наружная) и отделы ( для плеча например - верхняя, средняя, нижняя треть). Более с этим человечком ничего делать не потребуется, разве что повращать его.

Инфу о выделении мышкой объекта я видел.

Такая вот проста программа.

Автор: Гость_=Женек= 3.7.2005, 10:57
Блин, ну неужели никто не поможет?
Как загрузить объект из файла?
Или все тут пишут программки про кубики и шарики? Или такие крутые что изэтих кубиков и шариков сложные объекты выкладывают?
Я знаю чтофункции загрузки из файла в OpenGL нет. Но ведь как-то их можно загружать?

Автор: Nemesis 3.7.2005, 13:56
http://www.gamedev.ru/download/?id=163
Добавлено @ 13:57
http://forum.vingrad.ru/index.php?showtopic=18922#entry139566

Автор: Div 3.7.2005, 14:56
Нет! Не выкладываем из кубиков и шариков! Мы из треугольников выкладываем smile

Автор: Guest 5.7.2005, 23:32
Цитата
http://www.gamedev.ru/download/?id=163



н-даа...

Я же писал, что мне надо под Билдер. Там под Visual C.

Все примеры, которые вы приводили и которые есть в интернете, конечно же хороши, но мне не нужны эффекты и хитрости самого OpenGL. Мне нужно адаптировать этот код под Билдер. Я не могу выполнить простую задачу - на форме, в специально отведенном месте, определенных размеров должен быть объект, в котором рендерится объект.

Ща опять начнется - читай то, читай это... Да, я знаю что можно самому разобраться, но у меня нет времени и я не ставлю целью освоить 3D программирование. Мне нужно всего лишь добавить в программу функцию отображения 3D объекта из файла.

Неужели трудно просто выполнить мою просьбу? Или вы услышали когда-то в свой адрес аббревиатуру RTFM, потом сами чему-то научились, и теперь бездумно ее повторяете, думая что это делает вас круче в глазах других?

Автор: Guest 5.7.2005, 23:38
Цитата
http://forum.vingrad.ru/index.php?showtopi...922#entry139566


Топик с битыми ссылками.

Автор: Guest 5.7.2005, 23:39
Что самое интересное, когда я сам все-таки найду решение и для интереса, для омена опыта с другими людьмм выложу его здесь - тут же найдутся умники, которые будут его критиковать smile

Автор: Div 6.7.2005, 00:43
Критика правит миром!!! Так же, как и логика smile Благодоря ей, можно жестко пооптимизировать коды.

Автор: DENNN 6.7.2005, 09:04
Цитата(Guest @ 5.7.2005, 23:32)
Ща опять начнется - читай то, читай это... Да, я знаю что можно самому разобраться, но у меня нет времени и я не ставлю целью освоить 3D программирование. Мне нужно всего лишь добавить в программу функцию отображения 3D объекта из файла.

Ага. Щас все бросили и начали вместо тебя учится пользоваться поиском. smile
Цитата(Guest @ 5.7.2005, 23:32)
Неужели трудно просто выполнить мою просьбу? Или вы услышали когда-то в свой адрес аббревиатуру RTFM, потом сами чему-то научились, и теперь бездумно ее повторяете, думая что это делает вас круче в глазах других?

Гы. Му тут только для этого и сидим, а че такое эти директ-Ха и опенжеле сами толком еще не решили smile . А неужели ты считаешь что кто-то должен выполнять твою просьбу? Именно ДОЛЖЕН. Из беседы же видно, что ты некоторых вещей просто не знаешь или не работал. А процедура сохранения массива вершин и их структуры в файл у тебя вообще вызывает непреодолимые трудности. Ну напишут тебе оторванный от остального кода кусок. Неужели разбираться в таком коде лучше, чем прочитать два абзаца в хелпе? Ссылку тебе дали, так тот код для "разбирательства" тебе опять не подошел. Чего же ты хочешь: сам что-то искать или готовый модуль получить?

Автор: Plotter 27.7.2005, 17:16
Очень легко это, имх, не получится...

надо писать свой собственный экспортер (например из 3DSMax)
попробуй из него перегнать человечка в ASE-формат.. там через блокнот можно все разглядеть.

Если это покажется слишком сложным - то я, в свое время, без проблем смог отыскать аналогчные готовые экспортеры под ОпенГЛ из *.ASE, *.3DS, и других форматов.
Но хз что легче... когда я писал - мне показалось, что легче сделать самому, чем разбираться в чужом коде.

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

З.ы.: хотя... правильно тут сказали... не найти что-то на GameDev сложно. Там и уроки, и статьи с исходниками, да и уже рабочие програмки, кажется, тоже были.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)