Среда, 13 Ноября 2024, 12:10

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите импортировать объект из 3d max в OpenGL
zverpankДата: Понедельник, 16 Июня 2014, 07:20 | Сообщение # 1
уже был
Сейчас нет на сайте
Ребят собственно интересует этот вопрос. Допустим у меня есть куб в формате obj. Как мне его прочитать, чтобы он отобразился в OpenGL. В инете информация есть, мне не понятен не код, не вообще что откуда берется(понимаю, что в коде используется цикл, и он создает массив в котором указываються положение вершин, но все равно не пойму откуда чего берется).

# 3ds Max Wavefront OBJ Exporter v0.97b - ©2007 guruware
# File Created: 16.06.2014 05:06:18

mtllib cube.mtl

#
# object Box001
#

v -25.000000 0.000000 25.000000
v -25.000000 0.000000 -25.000000
v 25.000000 0.000000 -25.000000
v 25.000000 0.000000 25.000000
v -25.000000 50.000000 25.000000
v 25.000000 50.000000 25.000000
v 25.000000 50.000000 -25.000000
v -25.000000 50.000000 -25.000000
# 8 vertices

vn 0.000000 -1.000000 -0.000000
vn 0.000000 1.000000 -0.000000
vn 0.000000 0.000000 1.000000
vn 1.000000 0.000000 -0.000000
vn 0.000000 0.000000 -1.000000
vn -1.000000 0.000000 -0.000000
# 6 vertex normals

vt 50.000000 0.000000 0.000000
vt 50.000000 50.000000 0.000000
vt 0.000000 50.000000 0.000000
vt 0.000000 0.000000 0.000000
# 4 texture coords

g Box001
usemtl wire_061135006
f 1/1/1 2/2/1 3/3/1 4/4/1
f 5/4/2 6/1/2 7/2/2 8/3/2
f 1/4/3 4/1/3 6/2/3 5/3/3
f 4/4/4 3/1/4 7/2/4 6/3/4
f 3/4/5 2/1/5 8/2/5 7/3/5
f 2/4/6 1/1/6 5/2/6 8/3/6
# 6 polygons

Это собственно сам объект, может кто нибудь если есть время напишет исходники. Заранее благодарен. И еще вопрос какие библиотеки из OpenGL потребуются


Сообщение отредактировал zverpank - Понедельник, 16 Июня 2014, 07:21
SkmDeveloperДата: Понедельник, 30 Июня 2014, 19:20 | Сообщение # 2
частый гость
Сейчас нет на сайте
Для импорта различных 3D форматов есть библиотека assimp. Она используется во многих движках и SDK.

Пример использования есть в исходниках библиотеки ClanLib.
cibergodДата: Среда, 20 Августа 2014, 00:06 | Сообщение # 3
был не раз
Сейчас нет на сайте
У компании Nvidia есть SDK и в ней есть пример как загружать obj файлы в OpenGL

Я на основе этого примера делал проект вот тут сможешь взять исходник https://drive.google.com/file....sharing

Будут вопросы по коду спрашивай


Юнный недоигродел (( но очень стремлюсь
Даже сайт завел cibergod.ru
Но пока особо нечем хвастать
wcptДата: Среда, 20 Августа 2014, 10:21 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
советую взять полноценный импортер и разобраться. Иначе неприятно удивишься, когда узнаешь, что вершины необязательно содержат uv, n, объединены они могут быть не только в треугольники, да и вообще, индексы могут быть отрицательными. Плюс, есть еще и буковки, описывающие "гладкую" геометрию

Сообщение отредактировал wcpt - Среда, 20 Августа 2014, 10:25
cibergodДата: Среда, 20 Августа 2014, 11:00 | Сообщение # 5
был не раз
Сейчас нет на сайте
Цитата wcpt ()
Иначе неприятно удивишься, когда узнаешь, что вершины необязательно содержат uv, n, объединены они могут быть не только в треугольники, да и вообще, индексы могут быть отрицательными. Плюс, есть еще и буковки, описывающие "гладкую" геометрию


Если прочитать спецификацию по Obj http://www.martinreddy.net/gfx/3d/OBJ.spec то отрицательные вершины встречаются в 1% случаев 3d max экспортирует ровно то что у меня учтено в проекте.


Юнный недоигродел (( но очень стремлюсь
Даже сайт завел cibergod.ru
Но пока особо нечем хвастать
wcptДата: Среда, 20 Августа 2014, 11:55 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
хочется, или нет,да вот только они есть. Так что в общем случае и это придётся учитывать.

Сообщение отредактировал wcpt - Среда, 20 Августа 2014, 11:57
ArchidoДата: Среда, 20 Августа 2014, 16:57 | Сообщение # 7
Сэнсэй
Сейчас нет на сайте
Для своего проекта проще и эффективнее написать собственный небольшой скрипт экспорта, который будет включать ровно столько, столько нужно (с воможностью дальнейшего расширения, при необходимости) и безо всяких сюрпризов. Для остального (вроде какого-нибудь редактора) заюзать либу, которая сама умеет уже все грузить и не тратить время.

C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг