Ketika spesifikasi OpenGL diperbarui, mereka hanya akan menambah fitur. Jadi secara teori, perangkat keras terbaru dan terhebat dengan dukungan untuk profil Core dan Kompatibilitas harus menjalankan kode OpenGL1.1 super tua. Ini ternyata benar. Saya telah menghabiskan 12 bulan mempelajari OpenGL1.1 dan memiliki pemahaman yang adil tentang itu.
Saya membaca beberapa bab dari salah satu buku OpenGL4.2 baru yang mewah itu. Hampir semua fitur yang saya andalkan sudah usang (seperti Display Lists), yang memungkinkan saya berasumsi bahwa ada cara yang lebih baik untuk melakukan semua hal ini.
Mari kita pertimbangkan bahwa 1,1 kemungkinan akan didukung, secara penuh, oleh SEMUA perangkat keras modern. 1.1 dirilis pada tahun 1992. Saya tidak mengkodekan cara yang sulit hanya untuk mendukung PC berusia 20 tahun. :-p Saya pikir masuk akal untuk mengasumsikan sebagian besar gamer menjalankan perangkat keras yang berada di kisaran pertengahan sekitar 5 tahun.
Saya pikir metode yang lebih baru dirancang untuk secara universal menjadi salah satu dari dua hal: berkinerja lebih baik, atau lebih mudah untuk kode. Saya membaca bahwa tidak pernah keduanya! XD
Versi OpenGL apa yang paling banyak didukung oleh perangkat keras berusia 5 tahun? Versi apa yang paling masuk akal untuk digunakan, mengingat pertimbangan ini?
Saya akan mulai di sini: http://store.steampowered.com/hwsurvey
Saya tidak akan menargetkan periode waktu sebanyak persentase pengguna, misalnya, jika Anda menargetkan 4cpus, Anda hanya akan mencapai 45% pengguna, tetapi jika Anda bekerja ke 2, Anda akan mendekati 90%
sumber
Jawabannya tergantung pada apakah Anda perlu atau tidak ingin berjalan pada grafis Intel yang dirilis dalam jangka waktu yang Anda sebutkan.
Jika ya, batasi diri Anda dengan OpenGL 2.1 (atau bahkan 1,5), jika tidak, maka 3.x tampaknya masuk akal.
Ya, versi OpenGL yang lebih lama masih berjalan, dan ya, dari satu perspektif mereka tampak lebih sederhana. Di mana segala sesuatunya bengkok adalah ketika Anda mencoba melakukan sesuatu (dan Anda akan) bahwa mereka tidak mendukung terlalu mudah. OpenGL 1.1 bukan hanya cara yang sulit - seringkali cara yang mustahil jika Anda ingin mencapai hasil tertentu.
sumber
Pertama OpenGL 1.1 hal-hal seperti Daftar Tampilan akan tetap berfungsi dalam konteks baru asalkan Anda memiliki profil kompatibilitas (yang umumnya terjadi). Satu-satunya masalah adalah jika Anda berharap untuk port ke OpenGL ES, salah satu perpustakaan grafis spesifik konsol (mereka umumnya dilucuti OpenGL mirip dengan OpenGL ES) atau bahkan WebGL (yang akan memerlukan sedikit pengerjaan ulang pula).
Secara pribadi saya akan merekomendasikan menggunakan vertex / fragmen shader dan VBO. Mereka telah ada cukup lama sekarang dan menawarkan peningkatan kinerja yang luar biasa. Anda mungkin bahkan dapat memberikan mundur sederhana jika Anda membungkus fungsi dalam kelas.
Anda mungkin juga dapat meniru hal-hal seperti Objek Array Vertex.
sumber
Dengan perangkat keras berusia 5 tahun, beberapa orang masih menggunakan XP. Dan itu berarti Anda bahkan tidak dapat membuat kode dengan DirectX 10 atau OpenGL 3. Dan OpenGL 3 memiliki banyak fitur yang akan sangat Anda manfaatkan, seperti pembuat bingkai dan semacamnya. Jujur, saya akan sedikit meningkatkan persyaratan sistem Anda sehingga Anda dapat memasukkan fitur-fitur itu.
sumber
Biasanya perangkat lunak 3d memiliki jalur kode untuk versi api grafik "dasar" dan versi api "terbaru dan terbaik".
Versi grafik dasar umum adalah D3D9 dan OpenGL 2.1 / GLSL 120 .. Keduanya sama-sama hilang geometri shader karena perangkat keras lama tidak mendukungnya.
Opsi dasar lainnya adalah ANGLE, yaitu GLES 2.0 plus EGL yang berjalan pada D3D9, desktop OpenGL, dan mobile GLES 2.0. Ini adalah ujung belakang untuk Google chrome dan webgl di chrome dan Firefox.
http://code.google.com/p/angleproject/
Sedangkan untuk versi "terbaru dan terhebat" yang Anda pilih, itu lebih menantang. Api dan perangkat keras yang lebih baru yang Anda targetkan, fitur-fitur yang tampak lebih baik yang dapat Anda dukung - tetapi hanya pada perangkat keras terbaru dan terhebat.
sumber