JOGL - Обзор

Эта глава знакомит с OpenGL, его функциями, привязками OpenGL в java (GL4java, LWJGL, JOGL) и преимуществами JOGL по сравнению с другими привязками OpenGL.

Jпривязка ava для OручкаGL(JOGL) - это недавняя привязка для графического API OpenGL в Java. Это библиотека-оболочка, которая может получить доступ к OpenGL API, и она предназначена для создания 2D- и 3D-графических приложений, написанных на Java. JOGL - это библиотека с открытым исходным кодом, изначально разработанная бывшими аспирантами Массачусетского технологического института Кеном Расселом и Крисом Клайном. Позже он был принят игровой группой Sun Microsystems, а теперь поддерживается Java on Graphics Audio and Processing (JOGAMP). JOGL работает в различных операционных системах, таких как Windows, Solaris, Mac OS X и Linux (на x86).

Что такое OpenGL?

OpenGL расшифровывается как Open Graphics Library, которая представляет собой набор команд для создания 2D и 3D графики. С OpenGL вы можете создавать сложные 3D-формы, используя самые простые примитивы, такие как точки, линии, многоугольники, растровые изображения и изображения.

Вот несколько функций OpenGL -

  • Он может работать на нескольких платформах.

  • Он имеет привязки на нескольких языках, таких как C ++, Python и т. Д.

  • Он может отображать 2D и 3D векторную графику.

  • Он взаимодействует с графическим процессором (GPU) для обеспечения быстрого и высококачественного рендеринга. Рендеринг - это процесс создания изображения из 2D или 3D модели.

  • Это отраслевой стандарт API для написания приложений 3D-графики. Например, игры, заставки и т. Д.

  • Он содержит около 150 команд, которые программисты могут использовать для указания объектов и операций при разработке приложений.

  • Он содержит библиотеку утилит OpenGL (GLU), которая предоставляет различные функции моделирования, такие как квадратные поверхности и кривые NURBS. GLU - стандартный компонент OpenGL.

  • Дизайн OpenGL ориентирован на эффективность, результативность и его реализацию на нескольких платформах с использованием нескольких языков. Чтобы сохранить простоту API OpenGL, оконные задачи не включены.

Следовательно, OpenGL зависит от других языков программирования для оконных задач.

Связывание Java для OpenGL API

Это спецификация API запроса спецификации Java (JSR), которая позволяет использовать OpenGL на платформе Java.

Характеристики Детали
JSR 231 Этот пакет привязки Java поддерживает платформу Java SE.
JSR 239 Этот пакет привязки Java поддерживает платформу Java ME.

В Java есть различные привязки OpenGL. Они обсуждаются ниже

GL4java

Он известен как OpenGL для технологии Java. В нем есть ссылки на OpenGL 1.3 и почти на все расширения поставщиков. Также его можно использовать с Abstract Window Toolkit (AWT) и Swings. Это привязка OpenGL, ориентированная на игры, которая представляет собой одно окно, в котором отображаются полноэкранные приложения.

LWJGL

  • Легкая библиотека игр Java (LWJGL), использует OpenGL 1.5 и работает с последней версией java.

  • Он может использовать полноэкранные возможности JSE 1.4. Он имеет ограниченную поддержку AWT / Swings.

  • Он подходит для легких устройств, таких как мобильные телефоны, встроенные устройства и т. Д.

JOGL

  • JOGL ориентирован только на 2D и 3D рендеринг. Интерфейсы для звука и ввода-вывода не включены в JOGL.

  • Он включает в себя библиотеку графических утилит (GLU), набор инструментов GL Utility (GLUT) и собственный API - Native Windowing Toolkit (NEWT).

Почему именно JOGL?

  • Он обеспечивает полный доступ к API OpenGL (версии 1.0, 4.3, ES 1, ES 2 и ES 3), а также почти ко всем расширениям поставщиков. Следовательно, все функции OpenGL включены в JOGL.

  • JOGL интегрируется с AWT, Swing и Standard Widget Toolkit (SWT). Он также включает собственный набор инструментов для работы с окнами (NEWT). Следовательно, он обеспечивает полную поддержку окон.

История JOGL

  • 1992 - Silicon Graphics Inc. выпустила первую спецификацию OpenGL.

  • 2003 - Веб-сайт Java.net был запущен с новыми функциями, и JOGL был впервые опубликован на этом же веб-сайте.

  • 2010 - С 2010 года это независимый проект с открытым исходным кодом под лицензией BSD, которая является либеральной лицензией для компьютерного программного обеспечения.