Интернет магазин китайских планшетных компьютеров



Компьютеры - Java OpenGL

10 июня 2011


Оглавление:
1. Java OpenGL
2. Состояние разработки и стандартизация
3. Взаимодействие Java 2D и OpenGL
4. Инсталляция, подключение и использование



библиотека, представляющая собой прямую привязку функций OpenGL к языку программирования Java. Является реализацией спецификации JSR-231. Отмечена независимым сообществом opengl.org. В настоящее время библиотека разрабатывается группой Game Technology Group компании Sun Microsystems.

JOGL предоставляет программисту доступ ко всем возможностям API OpenGL спецификации 2.0 и ко всем расширениям OpenGL от ведущих производителей. JOGL предоставляет доступ и к двум основным дополнениям OpenGL — ко вспомогательной библиотеке OpenGL и к инструментарию разработчика на OpenGL.

Также библиотека JOGL содержит несколько дополнительных классов, не описанных в спецификации JSR-231, служащих для удобства обработки данных для команд OpenGL и связанных с особенностями языка Java.

Решение

JOGL реализует доступ к низкоуровневому API библиотеки OpenGL, написанной на языке Си, посредством интерфейса JNI. Для корректной работы JOGL предполагается, что программное и аппаратное окружение поддерживает OpenGL.

JOGL отличается от других OpenGL оболочек тем, что, по сути, просто предоставляет программисту возможность работать с API OpenGL посредством обращения к командам OpenGL через вызовы соответствующих методов с привычными Java-разработчику типами аргументов, размещённых в нескольких классах, вместо инкапсулирования функциональных возможностей OpenGL в какую-либо объектно-ориентированную парадигму. Действительно, большинство внутреннего кода JOGL сгенерировано автоматически по заголовочным файлам языка Си специальной утилитой Gluegen, специально написанной, чтобы облегчить создание JOGL.

Такое решение имеет свои преимущества и недостатки. Особенности архитектуры OpenGL, представляющего собой, с одной стороны, дискретный автомат, а с другой — процедурный API, не соответствует подходу к программированию на Java. Однако прямое отображение OpenGL API на множество методов Java заметно упрощает перенос уже написанного на Си OpenGL-кода на Java. Малый уровень абстракции JOGL даёт возможность построения довольно эффективных с точки зрения скорости выполнения программ, но вместе с тем усложняет процесс программирования по сравнению с более высокого уровня абстракции и по-настоящему объектно-ориентированными библиотеками-оболочками над OpenGL для Java. Также, поскольку существенная доля внутреннего кода сгенерирована автоматически, любые изменения в OpenGL могут быть оперативно добавлены в JOGL его разработчиками.



Просмотров: 3768


<<< GLUT
Mesa >>>