Java 3D

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Java 3D
Тип API
Розробник Sun Microsystems
Стабільний випуск 1.5.2 (2008)
Версії 1.5[1]
Операційна система кросплатформний
Ліцензія GPL version 2+GPL linking exception
Вебсайт java3d.java.net
Java 3D central hierarchies in LePUS3

Java 3D - це тривимірний програмний інтерфейс (API) для платформи Java. Він працює поверх OpenGL або Direct3D. Починаючи з версії 1.2, Java 3D розробляється в рамках Java Community Process. Граф сцени Java 3D - це спрямований ациклічний граф.

У порівнянні з іншими рішеннями, Java 3D - це не просто обгортка навколо цих графічних API, а інтерфейс, який інкапсулює графічне програмування з використанням справжнього об'єктноорієнтованого підходу. Сцена будується за допомогою графа сцени, який представляє об'єкти, що мають бути відображені. Цей граф сцени структурований у вигляді дерева, яке містить ряд елементів, необхідних для відображення об'єктів. Крім того, Java 3D пропонує широку підтримку просторового звуку.

Java 3D та документація до неї доступні для окремого завантаження. Вони не є частиною Java Development Kit (JDK).

Історія[ред. | ред. код]

У 1996 році Intel, Silicon Graphics, Apple і Sun підтримували інтерфейси API графічних сцен у стані розробки. Оскільки всі вони хотіли створити версію для Java, то вирішили співпрацювати над її розробкою. Цей проєкт отримав назву Java 3D. Розробка вже йшла повним ходом у 1997 році, а публічна бета-версія була випущена у березні 1998 року. Перша офіційна версія була випущена в грудні 1998 року. З середини 2003 року до літа 2004 року розробка Java 3D була припинена. Влітку 2004 року Java 3D була випущена як проєкт з відкритим вихідним кодом, керований спільнотою, і з того часу компанія Sun та волонтери продовжують її розробку.

29 січня 2008 року було оголошено, що вдосконалення Java 3D буде припинено на користь отримання тривимірної графічної сцени для JavaFX[2].

З 28 лютого 2008 року весь вихідний код Java 3D розповсюджується під ліцензією GNU General Public License (GPL) версії 2 з виключенням Classpath. [2]

З 10 лютого 2012 року Java 3D використовує JOGL 2.0 для апаратно-прискореного рендерингу OpenGL. Порт був ініційований Julien Gouesse. [3]

Особливості[ред. | ред. код]

Світлина створеної роботи в Java 3D
  • Багатопотокові структури графів сцен
  • Крос-платформна сумісність
  • Універсальні API-інтерфейси реального часу, придатні для візуалізації та ігор
  • Підтримка режимів збереженого, скомпільованого та миттєвого рендерингу
  • Включає апаратне прискорення візуалізації JOGL, OpenGL та Direct3D (залежно від платформи)
  • Складна віртуальна реальність на основі графового представлення сцени з підтримкою стереоскопічного рендерингу та складних багатоекранних конфігурацій
  • Вбудована підтримка гарнітур віртуальної реальності
  • CAVE (багатоекранні проєкції)
  • 3D аудіо ефекти
  • Програмовані шейдери з підтримкою GLSL і CG
  • Буфер трафаретів
  • Імпорт популярних форматів, таких як 3DS, OBJ, VRML, X3D, NWN та FLT
  • Конкурентні технології

Конкурентні технології[ред. | ред. код]

Java 3D - не єдиний високорівневий API для 3D-візуалізації на Java. Частково через паузи у розробці у 2003 та 2004 роках з'явилося декілька конкуруючих технологій графіки сцен у Java.

Загальна мета:

Gaming:

Візуалізація:

Крім того, багато інших API графіки сцен C або C++ пропонують підтримку Java через JNI.

На нижчому рівні, прив'язки JOGL (JSR 231) OpenGL для Java є популярною альтернативою API графів сцен, таких як Java 3D. LWJGL є ще одним таким зв'язуванням.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]

  1. JSR 926: Java 3D
  2. ANNOUNCEMENT: Java 3D plans | Java.net. web.archive.org. 10 березня 2012. Архів оригіналу за 10 березня 2012. Процитовано 7 листопада 2023.