Sobre o projeto

raylib-go fornece bindings em Golang para raylib, uma biblioteca simples e fácil de usar projetada para programação de videogames. O código-fonte C do raylib está incluído e é compilado junto com os bindings como parte do processo de build. A instalação é feita através do toolchain padrão do Go: go get -v -u github.com/gen2brain/raylib-go/raylib A biblioteca suporta dois modos de build. O modo padrão usa cgo e requer bibliotecas de sistema específicas da plataforma. No Ubuntu, isso inclui libgl1-mesa-dev, libxi-dev, libxcursor-dev, libxrandr-dev, libxinerama-dev, libwayland-dev e libxkbcommon-dev. No Fedora, os pacotes equivalentes são mesa-libGL-devel, libXi-devel, libXcursor-devel, libXrandr-devel, libXinerama-devel, wayland-devel e libxkbcommon-devel. No macOS, são necessários o Xcode ou as Command Line Tools. No Windows, é necessário um compilador C como MinGW-w64 ou TDM-GCC. Para Android, há um exemplo disponível no repositório. O suporte a Web/Wasm está disponível através de um projeto compatível separado chamado Raylib-Go-Wasm. Alternativamente, raylib-go pode ser usado sem cgo definindo CGO_ENABLED=0. Este modo purego é suportado no Linux, macOS, Windows e FreeBSD (32 bits não é suportado). Bibliotecas compartilhadas pré-compiladas são embutidas para Linux arm64/amd64, macOS arm64/amd64 e Windows arm64/amd64. A tag de build raylib_no_embed ou a variável de ambiente RAYLIB_NO_EMBED=1 pode desabilitar este recurso de embutir. Uma variedade de tags de build permite personalizar a plataforma alvo e o backend: - drm: compila para o modo DRM nativo do Linux, incluindo Raspberry Pi 4 - sdl: usa o backend SDL - sdl3: usa o backend SDL3 - rgfw: usa o backend RGFW - noaudio: desabilita funções de áudio - opengl43, opengl21, opengl11: seleciona versões específicas do backend OpenGL - es2, es3: backends OpenGL ES 2.0 e 3.0 experimental - x11: força o modo de compatibilidade X11 no Wayland - wayland: força o modo somente Wayland A compilação cruzada é suportada a partir do Linux usando cgo. Alvos Windows requerem o toolchain MinGW, enquanto alvos macOS requerem o toolchain OSXCross. Comandos de build de exemplo são fornecidos no repositório para produzir executáveis Windows de 64 bits e 32 bits, bem como binários macOS x86_64 e arm64. Um programa de exemplo demonstra o padrão básico de uso: inicializar uma janela, executar um loop de jogo, desenhar texto e fechar a janela. Mais exemplos estão organizados por módulos do raylib no diretório examples do repositório. A documentação está disponível no GoDoc, e uma cheatsheet do raylib também é referenciada. O suporte da comunidade está disponível no Raylib Discord Server no canal #raylib-go. raylib-go é licenciado sob uma licença zlib/libpng não modificada.