Bunu , OpenGL sürümlerinin nasıl çalıştığına ilişkin bir açıklamaya bağlayarak başlayacağım . Kısacası, OpenGL (genellikle) geriye dönük olarak uyumludur, bu nedenle tüm GL 3 kodu GL 4 uygulamalarında gayet iyi çalışır.
4.x OpenGL sürümleri serisi, "Direct3D 11" sınıfı donanım diyebileceğiniz şeyleri temsil eder. Bu donanımın işlevselliğini ortaya koyar. D3D10 donanımı, OpenGL'nin 3.x sürümleriyle temsil edilir. Yani "openGL 4'e geçmek", daha düşük donanımdan vazgeçmek veya birden fazla oluşturma yoluna sahip olmak anlamına gelir.
3.3 ve 4.2 arasındaki gerçek özelliklerin ayrıntılı bir dökümü 4.2 spesifikasyonunda bulunabilir . Birçok özelliğin (separa_shader_objects, shading_language_420pack, texture_storage) 4.x donanımıyla sınırlı olmadığını unutmayın; bunlar API değişikliklerdir ve uzantılara 3.x donanımından erişebilirsiniz.
En göze çarpan soru şudur: GL 4.x, 3.x donanımıyla yapamadığım şeyi yapmamı sağlıyor?
Mozaikleme muhtemelen en iyi bilinen özelliktir. Muhtemelen en az genel olarak faydalıdır. Bu işe yaramaz demek değildir; mozaiklerin doğru kullanımı modellerde detayı artırabilir. Ama en azından benim için, GL 4'ün bunun için en iyi şeyi değil.
Gölgelendirici altyordamları ilginç bir fikirdir. Bu temel olarak farklı gölgelendirici parçalarını dinamik olarak bir araya getirmenize izin verir. Bir programdaki belirli bir bağlantı noktasına az çok bir işlev ekleyebilirsiniz. Şartnameyi takip etmek biraz zor, ama iyi işlevsellik.
Görüntü yükleme / depolama muhtemelen GL 4 işlevselliğinin en çok gözden kaçan ve en güçlü biti olduğunu söyleyebilirim. Bununla birlikte, OIT'nin alacağı kadar iyi performansla siparişten bağımsız şeffaflık uygulayabilirsiniz. Muhtemelen görüntü yükleme / saklama için başka birçok kullanım alanı vardır, ancak bunları anlamak için akıllı insanlar gerekecektir.
GL 4'te bazı oranlar ve sonlar vardır. Çift kesinlikli destek ve dolaylı oluşturma gibi şeyler. Bunlar daha fazla GPGPU tarzı şeyler, bu yüzden muhtemelen bir oyunda fazla kullanılmayacak.
Ancak genellikle GL 4, X özelliğini GL 3'ten uygulama şeklinizi kökten değiştirmez.