GLFW adalah pustaka multi-platform Sumber Terbuka untuk OpenGL, OpenGL ES, dan pengembangan aplikasi Vulkan. Ini menyediakan API sederhana yang tidak bergantung pada platform untuk membuat jendela, konteks dan permukaan, membaca masukan, menangani peristiwa, dll.
GLFW secara asli mendukung Windows, macOS dan Linux serta sistem mirip Unix lainnya. Di Linux, Wayland dan X11 didukung.
GLFW dilisensikan di bawah lisensi zlib/libpng.
Anda dapat mengunduh rilis stabil terbaru sebagai sumber atau biner Windows. Setiap rilis yang dimulai dengan 3.0 juga memiliki tag beranotasi yang sesuai dengan arsip sumber dan biner.
Dokumentasi tersedia online dan disertakan dalam semua arsip sumber dan biner. Lihat catatan rilis untuk fitur baru, peringatan dan penghentian dalam rilis terbaru. Untuk lebih jelasnya lihat riwayat versi.
Cabang master
adalah cabang integrasi yang stabil dan harus selalu dikompilasi dan dijalankan pada semua platform yang didukung, meskipun detail fitur yang baru ditambahkan dapat berubah hingga fitur tersebut disertakan dalam rilis. Fitur baru dan banyak perbaikan bug ada di cabang lain hingga cukup stabil untuk digabungkan.
Jika Anda baru mengenal GLFW, tutorial GLFW 3 mungkin berguna. Jika Anda pernah menggunakan GLFW 2, terdapat panduan transisi untuk berpindah ke API GLFW 3.
GLFW ada karena kontribusi banyak orang di seluruh dunia, baik dengan melaporkan bug, memberikan dukungan komunitas, menambahkan fitur, meninjau atau menguji kode, melakukan debug, mengoreksi dokumen, menyarankan fitur atau memperbaiki bug.
GLFW sebagian besar ditulis dalam C99, dan sebagian dukungan macOS ditulis dalam Objective-C. GLFW sendiri hanya membutuhkan header dan perpustakaan untuk OS dan sistem jendela Anda. Tidak memerlukan header tambahan untuk API pembuatan konteks (WGL, GLX, EGL, NSGL, OSMesa) atau API rendering (OpenGL, OpenGL ES, Vulkan) untuk mengaktifkan dukungan bagi mereka.
GLFW mendukung kompilasi di Windows dengan Visual C++ 2013 dan lebih baru, MinGW dan MinGW-w64, di macOS dengan Clang dan di Linux serta sistem mirip Unix lainnya dengan GCC dan Clang. Kemungkinan besar akan dikompilasi di lingkungan lain juga, tetapi ini tidak diuji secara berkala.
Ada biner pra-kompilasi yang tersedia untuk semua kompiler yang didukung di Windows dan macOS.
Lihat panduan kompilasi untuk informasi lebih lanjut tentang cara mengkompilasi GLFW sendiri.
Lihat dokumentasi untuk tutorial, panduan, dan referensi API.
Lihat panduan kontribusi untuk informasi lebih lanjut.
GLFW mendukung Windows XP dan versi lebih baru serta macOS 10.11 dan versi lebih baru. Linux dan sistem mirip Unix lainnya yang menjalankan Sistem X Window didukung bahkan tanpa lingkungan desktop atau ekstensi modern, meskipun beberapa fitur memerlukan pengelola jendela atau papan klip yang sedang berjalan. Backend OSMesa membutuhkan Mesa 6.3.
Lihat panduan kompatibilitas dalam dokumentasi untuk informasi lebih lanjut.
GLFW sendiri hanya memerlukan CMake 3.16 atau lebih baru serta header dan pustaka untuk OS dan sistem jendela Anda.
Contoh dan program pengujian bergantung pada sejumlah perpustakaan kecil. Ini terletak di direktori deps/
.
Dokumentasi dibuat dengan Doxygen jika CMake dapat menemukan alat tersebut.
Bug dilaporkan ke pelacak masalah kami. Silakan periksa panduan kontribusi untuk informasi tentang apa yang harus disertakan saat melaporkan bug.
GLFW_UNLIMITED_MOUSE_BUTTONS
yang memungkinkan tombol tetikus melampaui batas token tombol tetikus untuk dilaporkan (#2423)QuartzCore
sebagai ketergantungan waktu tautanglfwInit
akan melakukan segfault pada kompositor tanpa kursi (#2517)VK_EXT_headless_surface
EGL_MESA_platform_surfaceless
GLFW_CONTEXT_CREATION_API
disetel ke GLFW_NATIVE_CONTEXT_API
(#2518) Di glfw.org Anda dapat menemukan GLFW versi terbaru, serta berita, dokumentasi, dan informasi lain tentang proyek tersebut.
Jika Anda memiliki pertanyaan terkait penggunaan GLFW, kami memiliki forum.
Jika Anda memiliki bug untuk dilaporkan, patch yang perlu dikirimkan, atau fitur yang ingin Anda minta, silakan ajukan di pelacak masalah di GitHub.
Terakhir, jika Anda tertarik untuk membantu pengembangan GLFW atau memindahkannya ke platform favorit Anda, bergabunglah dengan kami di forum atau GitHub.