Lightweight Java Game Library

biblioteca Java open-source

Lightweight Java Game Library (estilizado e abreviado como LWJGL) é uma API código aberto Java criada para auxiliar o desenvolvimento de jogos 2D ou 3D.[1] Sua principal função é a implementação de motores gráficos como OpenGL[2],Vulkan, entre várias outras.[3][4]

Lightweight Java Game Library
Logótipo
Lightweight Java Game Library
AutorCaspian Prince
DesenvolvedorLWJGL Team e contribuidores
PlataformaMultiplataforma
Modelo do desenvolvimentoCódigo aberto
Lançamento4 de fevereiro de 2007 (17 anos)
Versão estável3.3.1 (21 de fevereiro de 2022; há 2 anos)
Idioma(s)Inglês
Mercado-alvoDesenvolvedores de jogos eletrônicos
Escrito emJava e Kotlin (API), C e C++ (Bibliotecas)
Sistema operacionalLinux, MacOS, Windows (Qualquer sistema que suporta JVM)
Gênero(s)Sistema de criação de jogos
LicençaLicença BSD
Estado do desenvolvimentoAtívo
Página oficialwww.lwjgl.org
Repositóriogithub.com/lwjgl

Sobre

História

O desenvolvimento começou em 2002 com o lançamento da J2SE 1.4, que trazia várias novidades, incluindo operações de entrada/saída sem o bloqueio e acesso à memória alocada pelo programa. Isso permitia um melhor acesso à memória nativa e bibliotecas que não fazem parte do kit de desenvolvimento JDK. O desenvolvimento continuou até seu lançamento oficial em 4 de fevereiro de 2007.[5]

Em 13 de novembro de 2014, foi anunciado de que sua versão 3 estava em desenvolvimento, sendo que esta seria reescrita totalmente do zero, com várias alterações e novidades, deixando-a incompatível com lançamentos anteriores. Essa versão traria melhorias e novas implementações como o suporte ao GLFW, EGL, Objective-C e o desenvolvimento em Oculus Rift. Em 27 de abril de 2015 a versão alfa foi finalmente liberada ao público, tendo sua versão final lançada em 4 de junho de 2016, após mais de 3 anos e meio em desenvolvimento.[6][7][8]

Função

Seu principal objetivo é acessar métodos e funções de motores gráficos e sonoros feitos em C e C++ através do Java Native Interface (JNI) conhecidos como Bindings ou ligação de dados[2], fornecendo assim aos desenvolvedores uma maneira de obter acesso a recursos que, de outra forma, não estão disponíveis ou são mal implementados na plataforma Java3D. A filosofia principal é expor a tecnologia subjacente como um invólucro fino, criando assim uma API próxima ao original.[9]

Desde a versão 3.1, o projeto foi dividido em 51 módulos que podem ser baixados e usados separadamente. Para facilitar esse processo, é fornecido um configurador de compilação online, que permite aos usuários baixar combinações personalizadas de módulos e gerar automaticamente arquivos de configuração Maven e Gradle para facilitar sua implementação em projetos existentes.[10][11]

Uso

A biblioteca já foi usada em vários jogos famosos, como a versão Java do jogo Minecraft, desenvolvido pela empresa sueca Mojang Studios[12][13], e o jogo Project Zomboid desenvolvido pela empresa The Indie Stone[14]. É também a base de muitos motores de jogos como libGDX ou jMonkeyEngine.

Referências

Ligações Externas