|
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 75
|
|
Считывание obj файла01.11.2012, 23:29. Показов 9609. Ответов 13
Метки нет (Все метки)
Предыстория
2 месяца прошло с тех пор как я застрял на том что не могу згрузить 3D модель в OpenGl проект.Я делал конвертеры ("загрузчики") сам 3 совершенно разные версии. Не помогло. Прошу помощь у вас разработать программу или хотябы алгоритм считывание OBJ файла и преобразовние его в код для OpenGl Задачи: Есть OBJ файл. Строиться по типу: " v X Y Z " много таких строк (вершин) потом идут " f 1//1 2//2 5//5 " типа 1 вершина соединяется со 2ой и с 5 (к примеру) потом опят v и f Основная задача этот файл преобразовать в код такого типа glBegin(GL_POLYGON); glVertex3d(X,Y,Z); glVertex3d(X,Y,Z); glVertex3d(X,Y,Z); glEnd(); glBegin(GL_POLYGON); ... glEnd(); И результат вписать в файлик txt
0
|
|
| 01.11.2012, 23:29 | |
|
Ответы с готовыми решениями:
13
Заменить считывание с клавиатуры на считывание из файла Увеличение скорости загрузки из файла obj мешей в Directx
|
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
| 01.11.2012, 23:50 | |
|
Помнится делал что-то такое, но кода не сохранилось. Если я не ошибаюсь, то в obj файле содержатся вершины, а далее идут по тройках индексы вершин(ака треугольники). Также там могут быть нормали и куча другого хлама. Основная идея в том, что ты эту всю радость загружаешь в массивы(А лучше сделать класс примитива, который будет загружать в себя из obj), а имея массивы вершин, индексов, нормалей просто вызываешь функцию рисования, если память не врет, то нужно использовать функции на подобии glVertexPointer, glDrawElements и т.п. там их много.
Добавлено через 1 минуту По использованию этих функций кури MSDN.
0
|
|
|
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 75
|
|
| 01.11.2012, 23:57 [ТС] | |
|
Вы не поняли суть.
Вопрос состоит в организации чтения файла и т.д. А про OpenGl я более менее знаю
0
|
|
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||
| 02.11.2012, 07:49 | |||||
|
Добавлено через 1 минуту
0
|
|||||
|
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 75
|
||||||||||||||||
| 02.11.2012, 20:09 [ТС] | ||||||||||||||||
|
Ладно. Упрошу задачу.
Допустим у меня уже есть Vertexes.txt такого вида:
И есть файл Poligons.txt такого вида:
Вопрос: каким образом мне нужно считать эти оба файла, чтобы потом записать в третий файл данные такого типа.
P.S. В первом файле номер строки не всегда равен номеру элемента, так что искать верщину по номеру строки "невар"
0
|
||||||||||||||||
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
| 02.11.2012, 23:49 | |||||||||||
|
Например, такой код:
Кликните здесь для просмотра всего текста
Добавлено через 25 минут Если же номера точек в файле в коментах, то: Кликните здесь для просмотра всего текста
Добавлено через 5 минут Добавить
0
|
|||||||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
| 03.11.2012, 00:09 | ||||||
|
Напишите, как эти данные точно хранятся. Если просто 3 подряд значения типа double, то создайте структуру:
0
|
||||||
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
| 03.11.2012, 02:42 | ||||||
|
Еще вариант:
Кликните здесь для просмотра всего текста
0
|
||||||
|
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
|
|
| 03.11.2012, 02:44 | |
|
Как по мне, кошернее будет ply.
нефиг делать лоадер без головняка запилить.
0
|
|
|
|
|
| 03.11.2012, 02:55 | |
|
В дополнение.
На то и была создана индексация вершин, нормалей и координат текстур, чтобы уменьшить объемы потребляемой памяти и увеличить производительность. То что ты хочешь сделать называется деградацией. А еще правильнее регрессом. Добавлено через 1 минуту У меня не было никакого умысла тебя обидеть (оскорбить). Я лишь сказал что я думаю по этому поводу.
0
|
|
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
| 03.11.2012, 05:09 | ||||||
Сообщение было отмечено SatanaXIII как решение
Решение
С небольшими дополнениями:
Кликните здесь для просмотра всего текста
1
|
||||||
|
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 75
|
|
| 03.11.2012, 15:24 [ТС] | |
|
1) Смысл: загрузить 3D модель в OpenGl
2) Спасибо мне уже помогли. Так что тема закрыта.
0
|
|
| 03.11.2012, 15:24 | |
|
Помогаю со студенческими работами здесь
14
Считывание файла в массив и запись нового файла Считывание из файла Считывание с файла считывание с файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|