Apakah ada tutorial yang bagus yang menunjukkan perbedaan antara OpenGL 1. * dan 2. *?
Akan sangat membantu untuk mengetahui fungsi mana yang seharusnya tidak saya panggil (seperti glBegin (), saya berasumsi).
Apakah ada tutorial yang bagus yang menunjukkan perbedaan antara OpenGL 1. * dan 2. *?
Akan sangat membantu untuk mengetahui fungsi mana yang seharusnya tidak saya panggil (seperti glBegin (), saya berasumsi).
Jawaban:
Halaman persiapan OpenGL.org memiliki ikhtisar, dengan banyak tautan ke berbagai tutorial.
Singkatnya, OpenGL 2.0 hidup antara dunia fungsi tetap (1.x) dan dunia yang sepenuhnya dapat diprogram (2.x +); Anda masih dapat menggunakan semua yang dimiliki OpenGL 1.x, sambil menambahkan shader. Bergerak maju (3.x +), semua jenis sistem fungsi tetap yang lama mulai ditinggalkan, jadi mungkin lebih baik memiliki awal yang bersih daripada mencampurkan kedua dunia.
Saya juga terkejut ini belum pernah ditanyakan sebelumnya .. atau setidaknya saya tidak dapat menemukannya pada pencarian cepat.
Versi OpenGL, pada umumnya, tidak seperti versi Direct3D. Kode lama Anda masih berfungsi dengan versi baru (dengan satu pengecualian). Oleh karena itu, OpenGL v1.4 akan berfungsi dengan baik di bawah OpenGL 2.1. Versi OpenGL adalah tambahan, bukan pengurangan.
OpenGL 2.0 dan 2.1 menambahkan shader, di OpenGL Shading Language. Mereka juga menambahkan beberapa fitur lain, seperti tekstur floating-point, tekstur non-power-of-two, dan sebagainya. Daftar lengkapnya tersedia dalam spesifikasi OpenGL 2.1 itu sendiri. Lihat saja bagian "Versi"; mereka akan memberi tahu Anda apa yang berubah dari versi sebelumnya.
Satu-satunya pengecualian pada aturan tentang perubahan API adalah OpenGL 3.1 (ya, 3.1, bukan 3.0). Di OpenGL 3.0, sejumlah API ditetapkan sebagai "usang". Ini berarti bahwa ARB, komite yang bertanggung jawab atas OpenGL, dapat menghapus fungsi-fungsi ini dari versi yang lebih baru. Penghapusan ini terjadi di OpenGL 3.1. Spesifikasi 3.0 memiliki daftar besar barang-barang usang di dalamnya, dan spesifikasi 3.1 dipangkas.
Perhatikan bahwa Anda tidak perlu peduli (setidaknya pada Windows dan Linux. MacOSX berbeda). Anda dapat menjalankan dengan baik dalam mode " kompatibilitas ", di mana semua fitur yang sebelumnya dihapus kembali. Implementasi OpenGL tidak harus mendukung konteks kompatibilitas (dan Mac OS X Lion tidak. Mendukung inti 2.1 atau 3.2, sesuai permintaan Anda), tetapi semuanya masih dilakukan. Hanya untuk kompatibilitas mundur dengan aplikasi yang lebih lama.
Saya percaya bahwa ada tutorial untuk opengl 1.x dan 2.x, tetapi ada kemungkinan besar tidak akan ada tutorial yang menunjukkan bagaimana mereka berbeda dengan fitur atau kemudahan penggunaan dll.
Mungkin yang terbaik untuk mencari tutorial untuk versi pembuka spesifik, menemukan tutorial serupa dan membandingkannya sendiri.