OpenGL 1 * ve 2. * arasındaki farkı gösteren iyi bir öğretici var mı?
Ben hangi işlevleri bilmek çok yararlı olacaktır değil çağırıyor (glBegin () gibi sanırım).
OpenGL 1 * ve 2. * arasındaki farkı gösteren iyi bir öğretici var mı?
Ben hangi işlevleri bilmek çok yararlı olacaktır değil çağırıyor (glBegin () gibi sanırım).
Yanıtlar:
OpenGL.org başlarken sayfa çeşitli öğreticiler bağlantıları bol bir bakış vardır.
Kısacası, OpenGL 2.0 sabit fonksiyon (1.x) ve tamamen programlanabilir (2.x +) dünya arasında yaşar; gölgelendiriciler eklerken OpenGL 1.x'in sahip olduğu her şeyi kullanmaya devam edebilirsiniz. İleride (3.x +) ilerlerken, her türlü eski sabit fonksiyon sistemi kullanımdan kaldırılmaya başlar, bu nedenle her iki dünyayı karıştırmak yerine temiz bir başlangıç yapmak daha iyi olabilir.
Ayrıca bu daha önce sorulmuş değildi şaşırdım .. ya da en azından hızlı bir arama bulamadı.
OpenGL sürümleri genel olarak Direct3D sürümleri gibi değildir . Eski kodunuz hala yeni sürümlerle (bir istisna dışında) çalışır. Bu nedenle, OpenGL v1.4, OpenGL 2.1 altında iyi çalışacaktır. OpenGL sürümleri toplama değil toplamadır.
OpenGL 2.0 ve 2.1, OpenGL Gölgelendirme Dili'nde gölgelendiriciler ekler. Ayrıca kayan noktalı dokular, iki dokunun gücü olmayan dokular vb. Gibi başka özellikler de eklerler. Tam liste OpenGL 2.1 spesifikasyonunda mevcuttur . "Sürüm" bölümlerine bakın; önceki sürümden nelerin değiştiğini size söyleyeceklerdir.
API değişiklikleri ile ilgili kuralın tek istisnası OpenGL 3.1'dir (evet, 3.1 değil, 3.0). OpenGL 3.0'da, birkaç API "kullanımdan kaldırıldı" olarak belirlenmiştir. Bu, OpenGL'den sorumlu komite olan ARB'nin bu işlevleri daha sonraki sürümlerden kaldırabileceği anlamına gelir. Bu kaldırma OpenGL 3.1'de oldu. 3.0 spesifikasyonunda, kullanımdan kaldırılmış şeylerin büyük bir listesi var ve 3.1 spesifikasyonu buna göre kesiliyor.
İlgilenmeniz gerekmediğini unutmayın (en azından Windows ve Linux'ta. MacOSX farklıdır). Önceden kaldırılan tüm özelliklerin geri döndüğü " uyumluluk " modunda iyi çalışabilirsiniz . OpenGL uygulamalarının uyumluluk bağlamlarını desteklemesi gerekmez (ve Mac OS X Lion desteklemez. İsterseniz 2.1 veya 3.2 çekirdeği destekler), ancak hepsi hala geçerlidir. Eski uygulamalarla geriye dönük uyumluluk için.
Ben opengl 1.x ve 2.x için öğreticiler olduğunu düşünüyorum, ama büyük olasılıkla özellikleri veya kullanım kolaylığı vb. Nasıl farklı olduğunu gösteren öğreticiler olmayacak.
Belirli opengl sürümü için öğreticileri aramak, benzer öğreticileri bulmak ve bunları kendiniz karşılaştırmak en iyisi olabilir.