Легкая библиотека игр Java - Википедия - Lightweight Java Game Library
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
изначальный выпуск | 4 февраля 2007 г.[1] |
---|---|
Стабильный выпуск | 3.2.3 b13 / 2 сентября 2019 г.[2] |
Предварительный выпуск | 3.2.4 b6 / 15 сентября 2020 г. |
Репозиторий | github |
Написано в | Ява, C, Котлин[3][4] |
Операционная система | Windows, Linux, OS X |
Платформа | Платформа Java |
Тип | Бесплатная компьютерная библиотека |
Лицензия | BSD,[5] некоторые привязки под разными лицензиями[3] |
Интернет сайт | www |
В Легкая библиотека игр Java (LWJGL) является Открытый исходный код Ява программная библиотека для разработчики видеоигр. Он демонстрирует высокую производительность кросс-платформенный библиотеки обычно используется при разработке видеоигр и мультимедийных заголовков, таких как Вулкан, OpenGL, OpenAL и OpenCL. Кроме того, он обеспечивает доступ к контроллерам, рулевым колесам и джойстикам без привязки к платформе.[6]
Основная цель проекта - предоставить разработчикам Java возможность получить доступ к ресурсам, которые в противном случае недоступны или плохо реализованы на существующей платформе Java. Основная философия заключается в том, чтобы представить базовую технологию в виде тонкой оболочки, создавая тем самым API близок к оригиналу. Он также является основой многих высокоуровневых игровых движков и библиотек Java, таких как libGDX или jMonkeyEngine.
LWJGL доступен под Лицензия BSD.[5]
13 ноября 2014 года была анонсирована версия 3, которая была выпущена в альфа-версии 27 апреля 2015 года и представляет собой полностью переработанный LWJGL.[7][8][9] Множество новых привязок, в том числе GLFW, EGL и Цель-C, были добавлены.[5][8] Поддержка для Oculus Rift разработка также была добавлена LibOVR привязки.[5][9] Новая версия была выпущена 4 июня 2016 года после более чем трех с половиной лет разработки.[10]
Привязки
Библиотека обращается к родному C код через Собственный интерфейс Java (JNI). Привязки для каждой из собственных библиотек существуют как разные модули, поэтому разработчики могут создавать собственные сборки только с тем, что им нужно в определенной программе.[5][9][11]
Хотя служебные классы написаны на чистом Ява, большинство классов привязки автоматически генерируются настраиваемым генератором, реализованным в Котлин.[3][4]
Начиная с версии 3.1, LWJGL полностью разделен на 51 модуль, которые можно загрузить и использовать отдельно. Чтобы упростить этот процесс, проект предоставляет онлайн-конфигуратор сборки, который позволяет пользователям загружать пользовательские комбинации модулей и автоматически генерирует Maven и Gradle файлы конфигурации, чтобы упростить их использование с существующими проектами.[12][13]
Привязка | Категория | Описание | Примечания |
---|---|---|---|
EGL | Хронос API | Интерфейс между API рендеринга Khronos и базовой оконной системой собственной платформы. | |
OpenCL | API для кроссплатформенности параллельные вычисления. | ||
OpenGL | Спецификация 3D-графики реализована большинством GPU продавцы. | Поддерживается большинство расширений, но менее популярные будут добавлены по запросу. | |
OpenGL ES | OpenGL для встроенные системы например, мобильные телефоны, планшеты или консоли. | ||
Вулкан | Предстоящий кроссплатформенный API 3D-графики | ||
GLFW | Дисплей и ввод | Библиотека управления окнами, необходимая для обработки контекстов OpenGL и Vulkan, а также ввода данных пользователем. | |
JAWT | AWT родной интерфейс. | ||
нфд | Небольшая кроссплатформенная библиотека файловых диалогов. | ||
tinyfd | Небольшая родная диалоговая библиотека. | ||
OpenAL | Аудио | API трехмерного звука. | Поддерживаются ALC и другие расширения. |
OpenAL Soft | Свободно лицензионная программная реализация OpenAL. | ||
Opus | Открытый, без лицензионных отчислений аудиокодек. | ||
Ассимп | Графика | Портативная библиотека с открытым исходным кодом для импорта различных 3D модель форматы. | |
bgfx | Кросс-платформенная библиотека рендеринга, поддерживающая несколько графических серверов. | ||
DriftFX | Библиотека для рендеринга содержимого OpenGL в узлы JavaFX. | ||
LibOVR | API Oculus Rift SDK. | ||
meshoptimizer | Библиотека оптимизации сетки, которая делает сетки меньше и быстрее | ||
NanoSVG | Простой SVG парсер. | ||
NanoVG | Библиотека рендеринга 2D векторной графики с использованием OpenGL. | ||
Nuklear (библиотека) | Простой GUI библиотека. | ||
номинальные формы | Генератор для параметрический и другие простые формы. | ||
par_streamlines | Триангулируйте широкие линии и кривые. | ||
OpenVR | Среда выполнения API, которая позволяет получить доступ к оборудованию виртуальной реальности от нескольких поставщиков, не требуя, чтобы приложения имели определенные знания о типе оборудования, на которое они нацелены. | ||
Shaderc | Коллекция библиотек для шейдер сборник | ||
СПИРВ-Кросс | Библиотека для размышлений над СПИР-В и разборка SPIR-V обратно на языки высокого уровня. | ||
OpenEXR | Небольшая библиотека с одним заголовком для загрузки и сохранения изображений OpenEXR (.exr). | ||
Tootle (AMD) | Библиотека оптимизации трехмерной треугольной сетки, которая улучшает существующие методы предварительной обработки сетки. | ||
Распределитель памяти Vulkan | Легко интегрируемая библиотека распределения памяти Vulkan. | ||
Йога | Кросс-платформенная библиотека макетов с открытым исходным кодом, которая реализует CSS Flexbox. | ||
STB | STB | Легкие однофайловые библиотеки для загрузки изображений, звуков и шрифтов. | |
Пуля с физикой | Другой | Обнаружение столкновений в реальном времени и мультифизическое моделирование для VR, игр, визуальных эффектов, робототехники, машинного обучения и т. Д. | |
CUDA | Платформа параллельных вычислений и модель программирования, разработанная NVIDIA для обычных вычислений на графических процессорах. | ||
dyncall | Библиотека для динамического вызова функций C переносимым способом. | ||
джемаллок | Низкоуровневое управление памятью. | ||
libdivide | Библиотека, заменяющая дорогостоящее целочисленное деление сравнительно дешевым умножением и битовым сдвигом. | ||
LLVM | Коллекция модульных и многоразовых компиляторов и технологий инструментальных средств. | ||
LMDB | Библиотека быстрой базы данных с использованием файлы с отображением памяти. | ||
LZ4 | Без потерь Сжатие данных алгоритм, ориентированный на скорость. | ||
Мяу Хэш | Быстрый не-криптографический хеш. | ||
ODBC | Интерфейс на языке C, позволяющий приложениям получать доступ к данным из различных систем управления базами данных. | ||
Удаленность | ЦП / графический процессор в реальном времени профайлер. | ||
rpmalloc | Кросс-платформенный распределитель памяти кэширования потоков. | ||
xxHash | Быстрый алгоритм хеширования. | ||
Zстандарт | Быстрый алгоритм сжатия без потерь. |
Известные применения
Рекомендации
- ^ «Выпущен LWJGL 1.0». forum.lwjgl.org. 4 февраля 2007 г.. Получено 23 июля 2016.
- ^ "LWJGL 3.2.3". github.com. 2 сентября 2019 г.. Получено 13 октября 2019.
- ^ а б c d "LWJGL / lwjgl3". github.com. Получено 13 августа 2016.
- ^ а б "lwjgl3 / doc - Генератор". github.com. 11 августа 2015. Получено 30 августа 2015.
- ^ а б c d е ж "Официальный веб-сайт". Получено 14 августа 2015.
- ^ "LWJGL Wiki". github.com. Получено 2 июн 2015.
- ^ Цакпинис, Иоаннис (13 ноября 2014 г.). "Добро пожаловать в LWJGL 3". blog.lwjgl.org.
- ^ а б «Дорожная карта LWJGL 3». github.com. Получено 2 июн 2015.
- ^ а б c Цакпинис, Иоаннис (27 апреля 2015 г.). "Выпущен LWJGL 3.0.0a". blog.lwjgl.org.
- ^ "Выпущена версия LWJGL 3.0.0!". blog.lwjgl.org. 4 июня 2016 г.. Получено 4 июн 2016.
- ^ "FAQ по привязкам". github.com. 27 декабря 2014 г.. Получено 27 июля 2015.
- ^ "Выпущена версия LWJGL 3.1.0!". blog.lwjgl.org. 30 октября 2016 г.. Получено 11 ноября 2016.
- ^ "Скачать - LWJGL". lwjgl.org. Получено 11 ноября 2016.
- ^ "Minecraft Attributions | Minecraft". Minecraft.net. Получено 9 июля 2020.