JOGL - это работает? Вопросы + Комментарии и опыт - PullRequest
2 голосов
/ 30 октября 2008

История:

Я искал способ отображения компьютерной графики через Интернет с использованием ускорения от видеокарт ( без программного рендеринга) . Я знаю, что можно написать и модуль ActiveX для IE , но это не полное решение , так как это могло бы выделить большое количество пользователей ( firefox + macOS вентиляторы ). Вот пример более менее того, что я имею в виду:

Пример аппаратного ускорения поверх ссылки на браузер


Запрос:

Недавно я обнаружил, что вы можете связывать вызовы opengl с java из браузера, используя JOGL . Так что мне было интересно:

A) Является ли JOGL лучшим решением для моей истории?

B) Могу ли я запросить расширения opengl из JOGL?

C) Как загрузить текстуры из JOGL?


Комментарии:

Если вы использовали JOGL из браузера, пожалуйста, дайте мне знать, какие у вас были проблемы / опыт.

Ответы [ 7 ]

3 голосов
/ 06 декабря 2008

Я использую JOGL в крупном настольном приложении, и оно прошло успешно. По сути, это так же быстро, как OpenGL. Я не могу ни о чем говорить в Интернете - я подозреваю, что вам лучше всего написать апплет JOGL с помощью WebStart. Посмотрите на некоторые примеры JOGL.

JOGl - очень тонкая оболочка над OpenGL. Если вы знаете OpenGL, вы можете использовать JOGL. Если вы не знаете OpenGL, изучение JOGl - это то же самое, что изучение OpenGL (задача не из легких). Практически все, что вы можете делать в OpenGL, вы можете делать в JOGL.

У нас были проблемы с аппаратным ускорением в Linux (кто этого не делает), и некоторые конфигурации Linux могут привести к сбою нашего приложения JOGL (не обязательно других). Это известная проблема, и у вас, вероятно, будут проблемы с 3D в Linux, что бы вы ни делали.

Я также знаю других людей, успешно использующих JME и LWJGL на рабочем столе.

2 голосов
/ 30 октября 2008

Вы не упомянули «апплет» в своем вопросе. Попробуйте найти «апплет jogl» или «апплет lwjgl». У меня было больше радости от LWJGL, чем от JOGL, но они оба должны удовлетворить ваши потребности. Вы также можете быть заинтересованы в Java Web Start. Попробуйте демонстрации здесь как для примеров Java Web Start, так и для примеров на основе апплетов с использованием LWJGL, и здесь для апплета JOGL.

1 голос
/ 22 сентября 2009

Меня беспокоит то, что этот форум не используется программистами Jogl. В НАСА WorldWind есть большое и активное сообщество Jogl - очень аккуратное приложение на основе JOGL. В JOGL было множество производных и настроек, включающих целую виртуальную Словению.

0 голосов
/ 20 октября 2011

А) Да Б) Да, используйте GLBase.isExtensionAvailable () и GLBase.isFunctionAvailable () В) Используйте класс Texture и TextureIO. Вы можете найти свежие апплеты здесь .

Пожалуйста, не используйте Java3D, он устарел и более активно не поддерживается. Ardor3D имеет отличный рендерер JOGL 2.0 (я написал это;)). JMonkeyEngine 2 поддерживает JOGL 1.1.1a, например Xith3D и 3DzzD.

Редактировать .: Я воскресил Java3D с помощью Харви через несколько лет после написания этого комментария, пожалуйста, посмотрите мое руководство , если вы все еще хотите его использовать.

0 голосов
/ 27 ноября 2008

Вы можете посмотреть интересную презентацию по использованию openGL из Java на Parleys .

Название презентации: "Высокопроизводительные графические приложения Java3D и 2D"

0 голосов
/ 30 октября 2008

A) Я считаю, что Java3D может использовать DirectX или OpenGL / JOGL, где это возможно, или использовать программный рендеринг. И он предлагает ориентированный на сценограф API, который иногда легче программировать.

B и C) JOGL - очень тонкая, но полнофункциональная оболочка для OpenGL и его расширений. (Почти) все, что вы можете сделать с OpenGL в C / C ++, вы можете сделать точно так же, используя JOGL.

0 голосов
/ 30 октября 2008

Я использовал JOGL для настольного приложения с инструментарием GLUT, и он работал очень хорошо (я также использовал привязки OpenGL в C / C ++ и Python) Я не могу комментировать запуск приложения JOGL внутри апплета ...

Я не уверен, что вы имеете в виду, когда спрашиваете, как можно запрашивать расширения OpenGL, JOGL - это просто привязки OpenGL в Java API, поэтому любые знания OpenGL будут отображаться в JOGL. Если вы не работали с привязками OpenGL, я бы порекомендовал вам взять красную книгу: http://www.opengl.org/documentation/red_book/

...