Saya baru tahu bahwa GLUT sudah usang.
Itulah yang terjadi ketika Anda menerima jawaban pertama yang Anda temui; Anda mendapatkan informasi yang buruk. GLUT 3.7 tidak boleh digunakan, tetapi FreeGLUT sepenuhnya kompatibel dengan itu.
Namun, pertanyaan Anda masuk ke tempat lain. Untuk membuat game yang sebenarnya, GLUT of * form tidak pantas. Itu tidak memberi Anda kendali atas loop utama, dan Anda benar-benar membutuhkannya dalam sebuah game (FreeGLUT memang memiliki cara untuk mengontrol loop utama, tetapi itu masih aneh). GLUT adalah untuk menulis demo grafik. Itu sangat penting ketika menguji efek grafis baru, jadi itu harus ada di kotak peralatan Anda saat dibutuhkan. Tetapi kode gim utama Anda seharusnya tidak pernah menggunakannya.
GLFW adalah alternatif ringan game-centric untuk GLUT. Ini memberikan dukungan dasar untuk hal-hal di luar membuat jendela OpenGL. Ini memungkinkan Anda mendapatkan input, memuat gambar sebagai tekstur, dan beberapa hal lainnya.
SDL , SFML , dan Allegro 5 adalah perangkat multimedia. Mereka dapat membuat OpenGL jendela, tetapi mereka melakukan banyak lebih dari itu. Mereka memberikan dukungan penuh untuk input, audio, dan berbagai hal lain yang Anda butuhkan untuk membuat game. Jika Anda membuat game, semua ini adalah titik awal yang baik. Saya pribadi suka Allegro 5, tapi itu hanya bias saya terhadap dokumentasi yang baik dan API yang bersih.
Anda dapat menemukan alternatif untuk GLUT di halaman ini:
http://www.opengl.org/resources/libraries/windowtoolkits/
Untuk itu saya juga akan menambahkan SFML:
http://www.sfml-dev.org/index.php
sumber
Jika tujuan Anda adalah untuk mengembangkan game,
Itu tergantung pada apakah Anda ingin game Anda menjadi cross-platform atau tidak. Untuk game portabel (Windows, Mac, Linux), SDL tampaknya menjadi satu-satunya pilihan.
Jika Anda hanya menargetkan Windows dan / atau XBox, ada banyak alternatif yang lebih baik, misalnya XNA yang membebaskan Anda dari menulis banyak kode secara manual.
Jika tujuan Anda adalah mempelajari OpenGL,
Hanya program di OpenGL mentah, tetapi bersiaplah untuk menghadapi banyak konsep tidak intuitif, matematika dan manual besar.
sumber
GLUT adalah API serta perpustakaan. Perpustakaan asli memang sudah usang. API adalah hal yang berbeda, itu cukup bagus untuk memulai, hanya perlu revisi untuk mengatasi keterbatasan dan menangani kebutuhan baru. Implementasi utama saat ini adalah FreeGLUT, yang didukung dan tidak usang. Itu berarti bahwa alternatif yang baik untuk GLUT (seperti di perpustakaan GLUT) adalah GLUT (seperti dalam FreeGLUT).
Masalah yang disebutkan di atas dengan "kontrol loop utama" salah. Dengan versi GLUT yang lebih baru Anda dapat memiliki kontrol yang lebih baik atas loop game Anda (jika itu penting bagi Anda). Batasan itu diperbaiki oleh glutMainLoopEvent (). Batasan ini dan lainnya dibahas di sini:
http://en.wikipedia.org/wiki/OpenGL_Utility_Toolkit
sumber
glutMainLoopEvent
bukan cara yang baik untuk mengelola loop utama. Itu masih menggunakan model event-driven untuk memberi makan Anda data, daripada model polling di mana Anda mendapatkan data yang Anda inginkan saat Anda menginginkannya.Qt mendukung OpenGL. Lihatlah Open Inventor dan pertimbangkan apakah masuk akal untuk langsung menuju API 3D tingkat yang lebih tinggi.
sumber