Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/20: Рейтинг темы: голосов - 20, средняя оценка - 4.95
 Аватар для Norby
66 / 66 / 5
Регистрация: 12.03.2008
Сообщений: 392

Загрузка .obj

03.04.2011, 18:55. Показов 4319. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема в следующем: есть файл .obj внутри данные о кубике. Гружу его для отображения в OpenGL, но это не существенно. Так вот, содержимое файла:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Max2Obj Version 4.0 Mar 10th, 2001
#
# object Box01 to come ...
#
v  -86.577179 -50.335571 0.000000
v  28.859062 -50.335571 0.000000
v  -86.577179 57.046982 0.000000
v  28.859062 57.046982 0.000000
v  -86.577179 -50.335571 111.409393
v  28.859062 -50.335571 111.409393
v  -86.577179 57.046982 111.409393
v  28.859062 57.046982 111.409393
# 8 vertices
 
vn  0.000000 0.000000 -2.000000
vn  0.000000 0.000000 -1.000000
vn  0.000000 0.000000 -1.000000
vn  0.000000 0.000000 -2.000000
vn  0.000000 0.000000 2.000000
vn  0.000000 0.000000 1.000000
vn  0.000000 0.000000 1.000000
vn  0.000000 0.000000 2.000000
# 8 vertex normals
 
g Box01
f 1//1 3//3 4//4
f 4//4 2//2 1//1
f 5//5 6//6 8//8
f 8//8 7//7 5//5
f 1//1 2//2 6//6
f 6//6 5//5 1//1
f 2//2 4//4 8//8
f 8//8 6//6 2//2
f 4//4 3//3 7//7
f 7//7 8//8 4//4
f 3//3 1//1 5//5
f 5//5 7//7 3//3
# 12 faces
 
g
Файл был сделан в 3D Max. Вопрос: почему в файле только 8 нормалей? Ведь для каждой вершины должно быть по 3 нормали (для каждой смежной грани кубика), т.е. 3 * 8 = 24 нормали.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.04.2011, 18:55
Ответы с готовыми решениями:

Загрузка из obj
Короче, решил сделать такой, небольшой конвертер из obj, в собственный формат. Не получается сделать импорт faces. Уже много, чего пробовал...

Загрузка obj
Здравствуйте, сегодня понадобилось загрузить 3д модельку в программу. Короче, очень долго мучился, и так ничего не получилось. В общем,...

Загрузка obj моделей
Здравствуйте. не подскажите простых библиотек для загрузки obj моделей (использую C#, а sharpGl что то не хочет открывать файлы сделанные в...

4
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
04.04.2011, 05:24
видимо, потому что вертексов, определяющих вершины всего 8, и нормалей - тоже 8.
Разделите 1 вершину и посмотрите, какой будет результат.

нормаль

Получаем: вертекс - это точка пространства, где сходятся некоторые линии. Не пересекаются, а сходятся.
У куба их сколько? 8.

Нормаль для вертекса - это приблизительное вычисление, которое указывает усредненное от нормалей граней, формировавших вертекс.
Итого: среднее - одно на вершину. Получаем 8 * одно среднее = 8
0
 Аватар для Norby
66 / 66 / 5
Регистрация: 12.03.2008
Сообщений: 392
04.04.2011, 18:30  [ТС]
Ок. Тогда как это загружать в программу? Я вот гружу вертексы, нормали, индексы. В итоге свет правильно работает только на 2х гранях куба.
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,372
Записей в блоге: 6
04.04.2011, 21:19
Norby, Очень странные нормали. Почему они не единичной длинны?

Мы тут где-то уже обсуждали загрузку obj файла... там тоже была проблема с кубом, хотя с более сложные модели нормально формировались и грузились.

Добавлено через 3 минуты
То ли лыжи не едут, то ли поиск - лажа... найти не могу
0
 Аватар для Norby
66 / 66 / 5
Регистрация: 12.03.2008
Сообщений: 392
04.04.2011, 21:21  [ТС]
Нашел решение. Оказалось, что .obj не имеет ничего общего с OpenGL. Придется после загрузки определять новые массивы вершин и индексов так, чтобы все совпало для скармливания функции DrawElements.

Добавлено через 44 секунды
Цитата Сообщение от snake32 Посмотреть сообщение
Norby, Очень странные нормали. Почему они не единичной длинны?
А хз Так 3D MAX экспортирует. Я тоже удивился.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2011, 21:21
Помогаю со студенческими работами здесь

Загрузка OBJ моделей
Obj формирую c4d r13. Вопрос первый: как экспортировать нормали(знаю есть riptide, но он платный) 2) как экспортировать текстуру в mtl файл.

Загрузка obj модели в OpenGl
Есть .obj файл типа: v 1.25022 0 -0.0571689 vt -49.2212 2.25074 vn 0 -1 -0 v 0.108959 0 -0.0571689 vt -4.28972 2.25074 v...

Загрузка текстур на obj модельку
Здравствуйте, есть obj моделька, которую я экспортировал из блендера с uv текстурками. Так вот, как загружать эти самые текстуры? Моделька...

Загрузка OBJ. В чем ошибка?
Здравствуйте! разбираю загрузку OBJ файла по примеру...

Загрузка и отрисовка из файла *.obj
Доброго времени! Не могу понять как правильно отрисовать модель загруженную из .obj файла. Класс модели: ///...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru