Bibliotecas E Apis

Essa página é dedicada a dar uma visão geral das mais variadas Bibliotecas e APIs existentes para Jogos.

APIs de renderização de baixo nível

Vulkan nova API do Khronos Group, visando padronizar o acesso de baixo nível ao hardware da GPU
DirectX 12 API gráfica da Microsoft que dá acesso de baixo nível ao hardware da GPU em ambiente Windows
Metal API gráfica da Apple que dá acesso de baixo nível ao hardware da GPU em ambiente Apple

APIs de renderização básicas

OpenGL API gráfica independente de plataforma para acesso à aceleração 3d por hardware
DirectX API gráfica da Microsoft (para Windows) para acesso à aceleração 3d por hardware

Toolkits para aplicações gráficas

Mud: Toolkit para desenvolvimento rápido de aplicações e jogos em C++ https://github.com/hugoam/mud

Engines 2D

Allegro Biblioteca cujo principal foco é o 2D para C/C++
SDL Biblioteca desenvolvida em C para acessar a parte de mídia do sistema como CD-Rom, Teclado, Mouse, etc…
XNA Framework da Microsoft para desenvolvimento de jogos em c# voltado para hobbistas e desenvolvedores independentes
Godot Engine opensource para desenvolvimento de jogos 2D e 3D

Engines 3D

JMonkeyEngine Engine 3d feita em Java para jogos.
Java 3d API gráfica para facilitar o manuseio do código que lida com tarefas 3D em Java
Irrlicht Engine de código-fonte aberta para jogos desenvolvida em C++
Crystal Space Engine de código-fonte aberta para jogos desenvolvida em C++
Ogre Engine de código-fonte aberta para jogos desenvolvida em C++
ClanLib Biblioteca de programação em C++ para aplicativos multiplataforma
XNA Framework da Microsoft para desenvolvimento de jogos em c# voltado para hobbistas e desenvolvedores independentes
UDK Unreal Development Kit
G3D Uma engine 3d com diversas funcionalidades
Falcor Framework de rendering em tempo real DirectX 12 que mira melhorar a produtividade de projetos prototipo e de pesquisa.
Devmaster Site com links para diversas game engines, tanto livres como comerciais
Castle Game engine: Engine de jogos 2D/3D feita em Object Pascal (https://castle-engine.sourceforge.io/index.php)

Veja mais detalhes em Engines 3D (Obs: Ver como tirar esta redundância)

Ray Tracing

Optix
AMD FireRay
AMD FireRender

Som

Audiere API para Audio
FMOD Api para Audio
OpenAL API para áudio padronizada
LibOgg API para se manipular o formato de som OGG

Fisica

Newton API para física
ODE API para física e de código-fonte aberto
PhysX Tecnologia de aceleração física presente nas placas da NVidia da série 8 para cima. Tal tecnologia dispõe de um SDK no site da NVidia que pode ser usado gratuitamente
Havok API para física comercial e das mais conhecidas, atualmente em posse da Intel
Bullet Uma das bibliotecas mais populares de física e usado em diversos jogos e programas 3D.
Chipmunk Outra biblioteca de física (http://chipmunk-physics.net/)
Blast Biblioteca da NVidia para simulação de destroços. Usa a PhysX.
Kraft: Engine física para jogos 3d feita em Object Pascal (https://github.com/BeRo1985/kraft)

GUI

CEGUI Biblioteca gráfica de código-fonte aberto para se fazer GUIs
SFML Biblioteca de programação em C++ para aplicativos multiplataforma
WxWidgets Biblioteca de programação em C++ livre de plataforma.
GTK Biblioteca feita em C para a construção de GUIs.
GLUT Biblioteca utilitária que fornece alguns itens de GUI como tratamento de eventos referentes a mouse e teclado.
Freeglut alternativa completamente livre a API GLUT
GLFW Uma biblioteca semelhante a FreeGlut, mas com mais recursos
Qt Toolkit para C/C++ focado principalmente na GUI e livre de plataforma

Outras api Auxiliáres

Glew Biblioteca que auxilia o manuseio das extensões do Opengl
Biggle Outra biblioteca que auxilia o manuseio das extensões do Opengl
GLFW Outra biblioteca que auxilia o manuseio das extensões do Opengl
Assimp carrega diversas espécies de formatos de modelo 3D sejam eles animados ou não
Freetype Biblioteca para o carregamento e manipulação de fontes ttf.
HawkNL API de rede orientada a jogo (abstração sobre Winsocks e Berkeley/Unix Sockets)
[Game Networking Sockets https://github.com/ValveSoftware/GameNetworkingSockets] API para comunicação de rede em protocolo semelhante ao TCP
STB Utilitários (na maioria bibliotecas) compostos somente de arquivos cabeçalhos
Apis Auxiliares Comericiais

Sistemas de partículas

Flex Sistemas de partrícula na GPU https://developer.nvidia.com/gameworksdownload#?search=NVIDIA%20Flex (https://developer.nvidia.com/gameworksdownload#?search=Flex)

Imagens

Devil API para manipulação de imagens que suporta um conjunto de APIs como OpenGL e Allegro
Freeimage Biblioteca para abertura de imagens
Libpng Biblioteca para a manipulação de PNGs
Libjpeg Biblioteca para a manipulação de JPGs
PIL Biblioteca de imagens em Python
**TO DO: Colocar uma seção de utilitários com trechos de código em certas linguagens que já vêm com algum mecanismo para lidar com imagens. Exemplo: Java **

Vídeo

GStreamer Biblioteca para manipulação de diversos formatos de vídeo
JavaMedia Biblioteca em Java para permitir ao Java manipular conteúdo multimídia - imagem, som e vídeo

Outras

Zlib Biblioteca de programação OpenSource muito popular e usada]]]
JInput Biblioteca feita em Java para permitir o uso de dispositivos de entrada em java
irrXml Biblioteca simplificada para parsing de documentos XML
Aftermath Biblioteca C++ compacta para DX 11, 12, que habilita analise de crash de software em GPUs NVIDIA. (https://developer.nvidia.com/nvidia-aftermath)

Para manipulação de dados

Nesta categoria, encontram-se bibliotecas para formatos de dados populares como JSON e XML que podem auxiliar no intercâmbio e persistência de dados.

Bibliotecas XML
Bibliotecas JSON

Para GPGPU

CUDA Biblioteca proprietária da NVidia que permite programar as GPUs da referida fabricante de GPU
OpenCL Biblioteca para computação heterogênea padronizada pela Khronos
Movit Filtros de vídeo acelerados por GPU (https://movit.sesse.net/)

Para Web

O3d API do Google em Javascript para se mexer com o 3D na Web
WebGL Api em Javascript que permite o manuseio de OpenGL em páginas Web

Listas utilitárias

https://gist.github.com/ocornut/52a4b9c679ed670851e7: Bibliotecas para ler PSD.

Links para sites que apontam para outras bibliotecas

Bibliotecas para OpenGL Bibliotecas feitas para serem usadas junto com a APi OpenGL
The free Country
http://en.wikipedia.org/wiki/List_of_game_engines
http://wiki.python.org/moin/PythonGameLibraries Bibliotecas para Python
http://www.vrplumber.com/py3d.py Aplicações gráficas 3D que usam python - incluindo bibliotecas que podem ser usadas para o desenvolvimento de jogos
https://github.com/nothings/stb/blob/master/docs/other_libs.md Várias bibliotecas de um único arquivo para C/C++

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.