Загрузить файл .obj с помощью Java3D и использовать его в JOGL?

Я использую Java3D и JOGL, но мне трудно понять, как это сделать, глядя на javadocs. Я хочу загрузить файл .obj (другие форматы тоже не помешали бы) и визуализировать его с помощью JOGL.

Вот класс загрузчика . Он возвращает Сцену из имени файла. Как я могу использовать этот Scene в JOGL?

Спасибо. Я новичок в JOGL и Java3D.


person Nick Heiner    schedule 11.09.2010    source источник


Ответы (2)


Здесь есть загрузчик OBJ, использующий JOGL: http://github.com/sgothel/jogl-demos/blob/master/src/demos/util/ObjReader.java

person gouessej    schedule 25.09.2010
comment
Ardor3D также имеет загрузчик OBJ: github.com/Renanse/Ardor3D/blob/master/ardor3d-extras/src/main/ - person gouessej; 04.04.2013

Объект Scene не предоставляет доступа к треугольникам, которые вам нужно использовать в JOGL. На самом деле Java3D и JOGL — это две очень разные библиотеки, и мне интересно, почему вы используете их обе вместе (или как). Java3D — это API графа сцены, а JOGL — просто оболочка для низкоуровневого OpenGL. Вы знаете об этих вещах?

В любом случае вам нужно будет написать загрузчик OBJ для JOGL. Хотя это не сложная задача! Просто найдите спецификации OBJ и напишите загрузчик, который анализирует файл построчно. -line в любой формат, который вы выберете для отправки в JOGL.

Или придерживайтесь одной из двух библиотек. Не вижу смысла использовать оба. Либо вы хотите использовать низкоуровневый OpenGL, либо вам нужны удобства высокоуровневого Java3D, верно?

person Ricket    schedule 11.09.2010
comment
Я не уверен, почему я использую оба; если быть честным. Это для классного задания. Я думаю, что я должен использовать Java3D для манипулирования матрицами/векторного расчета и OpenGL для рендеринга. - person Nick Heiner; 11.09.2010
comment
OpenGL или JOGL? Java3D использует OpenGL, только на более высоком уровне. Если вам явно не сказали использовать JOGL, то ваш учитель, вероятно, хотел убедиться, что Java3D настроен на использование OpenGL вместо DirectX, поскольку у него есть возможность рендеринга с использованием любого из них. - person Ricket; 12.09.2010
comment
Java3D 1.6.0 теперь использует исключительно JOGL 2.0 для рендеринга с аппаратным ускорением. - person gouessej; 04.04.2013