opengl 3 ve opengl 4 arasındaki farklar


10

Oyun programlamaya yeni başladım ve opengl öğrenmeye başlamak istiyorum. Ben opengl 3 ile başlamak için sıfırdan çok büyük bir öğretici buldum ve openGL 3 ve openGl 4 arasında büyük bir fark olup olmadığını merak ediyorum. Ya da sormalıyım, openGL 4'ü eski yapar mı yoksa başlayabilirim openGL 3 ve sonra openGL 4'e geçebilir miyim?

Yanıtlar:


12

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.


Şunu söylemeliyim ki dolaylı renderlemenin 'GPGPU tarzı şeyler' olduğunu söylemek tamamen yanlış. CPU'dan çok fazla çağrı yapacak herhangi bir renderer için harika bir performans artışıdır ve oyunlar için harika bir özelliktir.
CoffeeandCode
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.