Saya yakin sudah ada banyak pertanyaan seperti ini, tetapi pembaruan terus-menerus dari perpustakaan OpenGL membuang semuanya, dan dalam satu atau dua bulan, jawaban di sini tidak akan berguna lagi.
Saya siap memulai pemrograman dalam OpenGL menggunakan C ++. Saya punya kompiler yang berfungsi (DevCpp; JANGAN meminta saya untuk beralih ke VC ++, dan jangan tanya kenapa). Sekarang saya hanya mencari tutorial yang solid tentang cara memprogram dengan OpenGL. Asisten saya menemukan tutorial yang disediakan oleh NeHe Productions, tetapi ketika saya datang untuk mencari tahu, itu WAY OUT DATE! (walaupun saya memang menarik bersama jendela dasar untuk mendukung kanvas OpenGL)
Lalu saya online, dan menemukan OpenGL SuperBible, yang ternyata menggunakan freeglut? Tapi yang ingin saya ketahui adalah apakah SuperBible 5th edition sudah diperbarui atau tidak. Saran untuk freeglut saya temukan mengatakan versi terbaru adalah 2.6.0 tapi sekarang 2.8.0!
- Apakah OpenGL SuperBible masih merupakan tempat yang baik, dan cukup baru untuk memulai?
- Apakah ada tempat yang lebih baik untuk belajar OpenGL?
- Apakah saya diperbolehkan menyimpan freeglut di direktori sertakan DevCpp (mungkin di GL), atau adakah prosedur yang penting?
- Apakah ada komentar atau saran yang saya pikir tidak akan bertanya karena saya baru saja mulai?
@dreta menjelaskan beberapa hal untuk saya, jadi sekarang saya punya ide yang lebih baik tentang apa yang harus ditanyakan:
Saya pikir saya ingin memulai dengan OpenGL menggunakan perpustakaan wrapper alih-alih langsung mengakses OpenGL.
Saya hanya berpikir bahwa, untuk seorang pemula, akan lebih mudah bagi saya untuk memprogram dan mendapatkan hasil yang baik, sementara saya belum harus memahami semua detail yang kotor (seperti yang disebutkan @stephelton).
Masalahnya adalah, saya tidak dapat menemukan perpustakaan yang tidak memiliki referensi yang tidak terdefinisi ke fungsi yang tidak lagi didukung. Freeglut terdengar operasional, tetapi masih menggunakan GLU.
Adakah yang tahu apa yang bisa saya lakukan?
Juga, saya mencoba mengkompilasi sumber SuperBible pertama, tetapi saya mendapat kesalahan karena GLAPI tidak didefinisikan sebagai tipe, kesalahan yang berasal dari pustaka GLU.
Saya ingin menggunakan SuperBible, tetapi saya tidak tahu bagaimana cara memperbaikinya.
Jawaban:
Penduduk kami, Nicol Bolas, mengelola buku online tentang pemrograman grafik modern . Ini menggunakan OpenGL modern, semuanya diperkenalkan dengan kecepatan yang mudah dikonsumsi, ini adalah tempat yang baik untuk memulai. Saya telah menggunakannya untuk mempelajari OpenGL modern dan ini membuat saya bertanya-tanya dalam 2 bulan terakhir.
Selain itu ada sedikit pengetahuan di sana-sini. Wiki OpenGL dipelihara dengan cukup baik. Kode ini bukan "praktik terbaik" dan kadang-kadang ada ambiguitas ketika datang ke versi OpenGL, tetapi di luar itu jarang terjadi, itu adalah sumber yang bagus.
Jika Anda ingin belajar tentang GLSL, ada Tutorial Inti GLSL dari lighthouse3D. Meskipun ini adalah satu-satunya pengetahuan inti yang saya "percayai" di situs, sisanya cenderung ketinggalan jaman.
Setelah Anda mulai memahami bagaimana OpenGL modern dilakukan, Anda akan memiliki waktu yang mudah mencari informasi tertentu, memfilter kode yang sudah ketinggalan zaman dan yang paling penting membaca spesifikasi. Anda hanya harus mulai dari suatu tempat.
Sebagian besar, jika tidak semua sebenarnya, dari buku-buku OpenGL yang tersedia sudah ketinggalan zaman. SuperBible baru adalah semacam aneh dan saya tidak akan merekomendasikan hal ini kepada siapa pun. Panduan Pemrograman OpenGL untuk OpenGL 4.1 keluar tanggal 16 September, sayangnya edisi ke-7 menggunakan kode usang, jadi Anda hanya harus menunggu, saya yakin begitu.
Dan tentu saja, Anda selalu dapat mengajukan pertanyaan di sini.
sumber
Sudah lama sejak pertanyaan ini diajukan tetapi saya harap ini akan membantu orang-orang yang memiliki pertanyaan yang sama dengan Anda.
Saya memulai dengan OpenGL dengan membaca sebuah minibook
arcsynthesis.org
. Tidak yakin siapa yang menulisnya. Sepertinya pendaftaran situs telah berakhir atau sesuatu tetapi Anda harus dapat menemukannya di sini: http://web.archive.org/web/20140209181347/http://www.arcsynthesis.org/gltut/ . Ini menggunakan OpenGL 3.3, jadi Anda akan menggunakan pipa modern dan semua praktik yang menyertainya, tetapi Anda tidak akan terkena tessellation atau menghitung shader.Situs lain yang layak dilihat adalah https://open.gl/ . Tampaknya sangat SANGAT pemula dan tidak mencakup hal-hal yang hampir mendalam seperti materi di atas, tetapi itu bisa menjadi titik awal yang baik untuk orang-orang yang baru memulai.
Ingatlah untuk membaca wiki OpenGL dan google nama fungsi Anda jika Anda memerlukan bantuan. Beberapa halaman di wiki sama sekali tidak berguna tetapi yang lain cukup membantu, baik sebagai referensi dan sebagai bahan pembelajaran.
sumber
Tutorial lama ini masih sangat relevan untuk pemula. Bahkan, saya akan menyarankan mulai di sana daripada dengan versi OpenGL terbaru. Versi yang lebih baru telah membuang beberapa metode menggambar geometri yang lebih mudah (yaitu menggambar mode-langsung).
Dengan versi terbaru, Anda harus menyiapkan dan mengirim array simpul dan memberi tahu kartu video bagaimana simpul Anda disusun dalam larik yang Anda berikan. Hal-hal ini rumit untuk di-debug.
Beberapa versi (yaitu OpenGL ES 2.x) mengharuskan Anda untuk memberikan persamaan pencahayaan Anda sendiri (dalam bentuk Fragment Shaders) dan mengubah data vertex Anda sendiri sehingga berakhir di layar yang Anda inginkan (Vertex Shaders). Ini bahkan lebih sulit untuk di-debug, dan bukan tempat untuk pemula (menurut saya).
Jadi saya sebenarnya menyarankan agar Anda kembali ke tutorial NeHe (dll) dan mulai dari sana. Mereka mungkin "ketinggalan zaman" tetapi mereka masih bekerja. Ketika Anda mulai memahami apa yang sebenarnya terjadi dalam render pipeline di OpenGL dan merasakan beberapa konsep matematika yang membuat hal-hal ini bekerja, maka Anda akan siap untuk melihat ke beberapa metode yang lebih mutakhir dari rendering dalam OpenGL.
sumber
Seperti yang dikatakan orang lain, sebagian besar buku sudah usang atau terlalu canggih. Meskipun demikian, saya akan merekomendasikan edisi ke-5 dari SuperBible tetapi hanya untuk mendapatkan gambaran singkat tentang apa yang dapat dilakukan di OpenGL dan untuk membiasakan diri dengan hal-hal seperti tampilan / proyeksi dll.
Menyelam dengan cepat ke OpenGL modern mungkin membuat Anda kewalahan pada awalnya, jadi pertimbangkan untuk belajar melakukan beberapa hal dasar dalam versi yang sekarang sudah tidak digunakan lagi.
Saya juga ingin menambahkan situs dengan tutorial yang bagus yang saya temukan belakangan ini http://ogldev.atspace.co.uk/
sumber
sayangnya, arcsynthesis.org (situs yang disebutkan dalam jawaban yang diterima) tampaknya turun dan keluar. (EDIT: tersedia di tautan ini !).
Tutorial Anton Gerdelan untuk OpenGL 4 sangat mudah dibaca dan terkini pada pertengahan 2014. Beberapa yang pertama gratis, sisanya tersedia di amazon, di mana mereka memiliki ulasan yang bagus, dengan harga murah. Sejauh ini saya senang.
Ada beberapa tutorial gratis untuk OpenGL 3.3+ di http://www.opengl-tutorial.org/ . Mereka tanggal kembali ke 2012, tetapi mungkin bahan tambahan yang baik untuk sumber lain.
sumber