Вы можете создать 3D-компонент с помощью JOGL?

(система отметила, что это субъективно, но я не понимаю, как это сделать, кто-нибудь объяснит?)

В любом случае, как следует из моего заголовка, можете ли вы создать 3D-компонент с помощью JOGL? Я пытаюсь представить себе пустой цилиндр. Вы разрезаете цилиндр на две половины и смотрите в одну половину. Внутри я хочу наклеить изображения ... пока не совсем уверен, для какой цели это будет служить, но я играю с JOGL, просмотрел учебные пособия NEHE и другие, и идея пришла ко мне из приложения, которое я видел на моем Телефон.

Я не уверен, как это будет работать, но моя первая мысль заключалась в том, что, вероятно, он должен быть подклассом JPanel или JFrame, чтобы иметь возможность легко добавлять обычные компоненты, но тогда я не уверен...

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


person zcourts    schedule 12.12.2010    source источник
comment
Единственная субъективность, которую я вижу в этом вопросе, — это вопрос «можете ли вы против одного». Дело в правильной грамматике, затерянной во времени, на самом деле...   -  person Ricket    schedule 12.12.2010
comment
@Ricket спасибо за объяснение, но тогда, если вы не правы, то что? Можешь ли ты?   -  person zcourts    schedule 12.12.2010
comment
Можно ли, как в разделе Можно ли создать 3D-компонент с помощью JOGL? так как вы не спрашиваете меня напрямую, могу ли я создать 3D-компонент с помощью JOGL (ответ будет еще нет, хе-хе), но вы спрашиваете, один могу. Или, что еще лучше, его можно перефразировать как Можно ли создать 3D-компонент с помощью JOGL? Но да, @Kos, оба верны, один просто более правильный и может уменьшить путаницу, если вы разговариваете с кем-то.   -  person Ricket    schedule 13.12.2010


Ответы (2)


Суть JOGL заключается в том, что вы создаете компонент Java и выполняете для него вызовы GL. Это должен быть реализатор GLDrawable (обычно либо GLJPanel, если вы работаете с Swing, либо GLCanvas, если нет). Затем вы можете нарисовать любую трехмерную сцену, которую хотите, используя вызовы JOGL, и она ведет себя как соответствующий тип компонента Java (с некоторыми ограничениями).

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

person DJClayworth    schedule 15.12.2010
comment
Хотя это и не совсем то, как я это сделал, ваш desc. похож. В конце концов, перейдя на C++ с библиотекой QT, получил довольно хорошее 3D-окно. - person zcourts; 27.01.2011

Итак, прежде всего вам нужно настроить Eclipse и создать библиотеку JOGL:

  • Перейдите в верхнюю строку меню, нажмите «Окно» -> «Настройки», нажмите «Создать» и введите имя для своей библиотеки, например jogl-2.0. Оставьте флажок «Системная библиотека (добавлена ​​в путь к классу загрузки)» снятым и нажмите «ОК».

  • Вернувшись на панель пользовательских библиотек, вы должны увидеть, что ваша библиотека появилась, и нажмите «Добавить JAR».. и перейдите к месту, где вы извлекли свою библиотеку JOGL, а затем откройте каталог «lib», который содержит все различные файлы JAR и собственные библиотеки для ДЖОГЛ. Выберите следующие JAR-файлы: Gluegen-rt.jar, jogl.all.jar, nativewindow.all.jar, newt.all.jar и нажмите «ОК», чтобы добавить эти четыре JAR-файла в пользовательскую библиотеку. Теперь вы должны увидеть их в списке jogl-2.0.

  • Щелкните расположение собственной библиотеки, а затем отредактируйте справа и выберите «Внешняя папка».. и перейдите в тот же каталог, в котором находятся все файлы JAR для JOGL. Это должен быть каталог «lib» внутри места, в котором вы извлекли файлы JOGL, и нажмите Ok.

Теперь вам просто нужно указать вашему проекту использовать вашу пользовательскую библиотеку JOGL, щелкните правой кнопкой мыши папку проекта и выберите «Свойства», выберите «Путь сборки Java» и щелкните -> вкладка «Библиотеки» вверху -> добавить библиотеку -> выберите пользовательскую библиотеку и нажмите «Далее». затем поставьте галочку рядом с JOGL-2.0 и нажмите «Готово».

Я надеюсь, что вы хотите сделать что-то созданное вами, а не скопированное :)

Теперь ., поместите код здесь, чтобы увидеть, что у вас есть, и если что-то не так.

person Voislav Sauca    schedule 12.12.2010
comment
Вы объяснили, как создать проект с помощью JOGL и Eclipse. Я думал, что вопрос был о том, как создать компонент с JOGL, который можно использовать так же, как используются компоненты Swing, SWT и AWT. Вы знаете, многоразовый компонент цилиндра, у которого есть свойства, то есть изображение, которое нужно поместить внутрь цилиндра. Я ошибся? (правильный вопрос, не риторический) - person Rekin; 12.12.2010
comment
Спасибо за объяснение, но, к сожалению, Рекин прав. У меня уже есть настройка JOGL в eclipse и netbeans. И да, я пытаюсь экспериментировать и создавать свои собственные вещи... если бы я этого не делал, я бы вообще многому не научился... У вас есть какие-нибудь идеи о том, как этого добиться? то есть, как метко описал Рекин Многоразовый цилиндрический компонент, обладающий свойствами? - person zcourts; 12.12.2010