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]
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