Saya tertarik untuk memasuki pengembangan game dan memiliki keterampilan pemrograman C / C ++ yang bagus. Saya telah mencoba OGRE sebelumnya, dan saya ingin tahu apakah saya harus belajar OGRE atau OpenGL sebagai titik awal.
Dari pemahaman saya, OGRE adalah pembungkus untuk OpenGL dan DirectX. Jadi, seandainya saya belajar OGRE, apakah saya masih perlu belajar OpenGL juga untuk mengembangkan game?
Juga, dapatkah seseorang menunjukkan saya tutorial yang bagus untuk OpenGL? Saya menemukan bahwa OGRE terdokumentasi dengan baik (bahkan disertai dengan distribusi!) Tetapi untuk OpenGL, sebagian besar tutorial yang saya ikuti sudah ketinggalan jaman.
Jawaban:
Ogre memang merupakan pembungkus untuk OpenGL, namun gagasan pembungkus seperti itu adalah Anda tidak perlu khawatir dengan seluk-beluk OpenGL. Tentu saja akan membantu untuk mengetahui sedikit tentang OpenGL, tetapi Ogre akan menyembunyikan banyak detail jelek untuk Anda.
Saya akan mengatakan bahwa Ogre bisa dibilang lebih mudah dipelajari daripada OpenGL, atau setidaknya itu akan memberi Anda hasil yang menarik lebih cepat. Tentu saja itu benar-benar tergantung pada apa yang ingin Anda lakukan untuk menilai jika perlu belajar OpenGL.
Tentang tutorial OpenGL, ya kebanyakan dari mereka sudah ketinggalan zaman, namun speknya belum bergerak sangat cepat sehingga banyak dari tutorial lama masih berlaku untuk sebagian besar OpenGL.
Beberapa favorit saya:
sumber
OpenGL! Ya saya secara terbuka tidak setuju dengan semua orang di forum ini sejauh ini.
OGRE berantakan. Kurva pembelajarannya curam. Ya mereka punya beberapa tutorial yang bagus, tetapi melangkah di luar batas tutorial dan melakukan hal Anda sendiri SANGAT sulit. Saya berharap untuk menghabiskan tiga minggu sebelum Anda dapat mengatur dan bekerja OGRE, bekerja melalui tutorial, dan mencari tahu apa yang harus dilakukan selanjutnya. Tidak ada tentang OGRE yang jauh lebih baik atau lebih sederhana daripada OpenGL. Jika Anda adalah programmer C yang baik seperti yang telah Anda klaim, dan Anda memahami pointer / array / fungsi Anda, OpenGL akan sama mudahnya, jika tidak lebih mudah.
Itu sebabnya saya sangat menyarankan memulai dengan OpenGL. OpenGL akan memaksa Anda untuk mempelajari semua dasar-dasar grafis. Ini jauh lebih menarik karena Anda akan benar-benar menyadari apa yang sedang terjadi di latar belakang. Dan YA mulai dengan tutorial NeHe. Ya mereka 1.x yang sangat ketinggalan jaman (ini untuk Anda, Ranieri), tetapi melompat ke OpenGL 4.x terlalu curam kurva belajar.
Mulailah dengan mode langsung di 1.x (glBegin, glEnd), kemudian pelajari tentang Array Vertex. Jika Anda mau, mainkan daftar tampilan hanya untuk belajar. Kemudian pindah ke objek vertex buffer. Kemudian pelajari tentang shader. Masing-masing transisi ini sangat mudah, dan ada banyak tutorial online yang bagus. VBO berada di inti 4.1, jadi pada saat Anda membuatnya di sana, Anda tidak lagi belajar materi yang sudah ketinggalan zaman, dan jauh lebih mudah untuk sampai di sana dengan mulai dengan barang-barang 1.x.
Juga, jika Anda menginginkan karir pengembangan game, tidak ada yang akan mempekerjakan Anda karena Anda dapat membuat putaran kubus di beberapa rak perpustakaan. Mereka akan mempekerjakan Anda karena Anda memahami apa yang sedang terjadi di level terendah dan Anda dapat membuat keputusan desain berdasarkan pengetahuan yang berharga itu.
Referensi: Saya di mana Anda berada. Saya menghabiskan sebulan di OGRE, seminggu mencoba Irrlicht, seminggu mencoba Horde3d, dua hari bermain dengan DirectX, dan sebulan bermain dengan OpenGL. Setelah sebulan dengan OGRE saya hampir tidak bisa melampaui ruang lingkup tutorial. Setelah satu bulan dengan OpenGL saya memiliki karakter berjalan di sekitar dunia minecraftian, membuat 260.000 kubus bertekstur per bingkai dengan 700+ framerate.
sumber
Jawaban singkat? RAKSASA.
Jawaban gondrong? OGRE adalah pembungkus OpenGL, jadi karena itu Anda harus melakukan lebih sedikit pekerjaan. Anda tidak perlu terlalu khawatir tentang pengiriman data ke GPU atau shader terikat, atau memilah simpul pada tingkat rendah. Jauh lebih cepat menggunakan OGRE daripada menggunakan OpenGL untuk produksi, dan kemungkinan kode Anda akan (sangat sedikit) lebih cepat juga.
Jika Anda tertarik dengan pengembangan mesin, gunakan GL. Lain, gunakan OGRE. Dan saya mungkin akan mulai dengan OGRE.
sumber
Mengetahui perangkat keras komputer grafis tidak diperlukan untuk pengembangan game. Diperlukan untuk menjadi programmer grafis atau bagian dari tim pengembang render dalam sebuah perusahaan game (Catatan pribadi: yang merupakan kesenangan terbaik dalam pengembangan seluruh game :)).
Jika Anda tidak ingin menjadi insinyur render, Anda mungkin tidak perlu mempelajari seluruh OpenGL atau DX untuk mengembangkan game.
sumber
Saya berpendapat tidak ada yang terbaik untuk pemula, tetapi kemudian "terbaik" adalah istilah relatif yang tergantung pada apa yang ingin Anda dapatkan. Misalnya, jika yang Anda inginkan adalah mempelajari pemrograman grafis 3D untuk mendapatkan keterampilan yang dapat Anda gunakan untuk mendapatkan pekerjaan sebagai programmer grafis 3D untuk perusahaan game maka pilihan itu masuk akal. Dengan tujuan ini, Anda mungkin juga melihat DirectX.
Namun jika Anda memiliki tujuan lain dalam pikiran maka saya akan merekomendasikan mencari opsi lain. Sebagai permulaan, sementara dari pertanyaan Anda orang akan menganggap Anda ingin terlibat dalam pengembangan game sebagai programmer, Anda tidak benar-benar menentukan itu. Baik menulis mesin grafis di OpenGL dan membangun di atas Ogre jelas untuk programmer hard-core.
sumber