OpenGL® Sınıfı Nedir?

Bir OpenGL® sınıfı, OpenGL® soyut programlama arayüzünün (API) parçalarının nesne yönelimli bir uygulamasına veya kendi kodunda OpenGL® fonksiyon çağrıları kullanan bir sınıfa başvurabilir. OpenGL® kütüphanesinin doğası, API'nin nesne yönelimli sürümü için bir destek olmadığı ve çoğu programın, sınıf dışında, işlevler olarak adlandırıldığı anlamına gelir. Nesne yönelimli diller daha yaygın hale geldikçe, farklı OpenGL® sınıfı kütüphaneler çekirdek kütüphanesi için sarıcı nesneler olarak göründü. Kapsülleme ve temel uygulamayı korurken kalıtım yoluyla yeni fonksiyonel sınıflar türetmek için bir yol dahil, yalnızca kütüphanede sağlanan işlevlerin toplanması yerine tamamen gerçekleşmiş bir OpenGL® sınıfının kullanılmasının yararları vardır. Tüm geliştiriciler OpenGL® sınıfı bir kütüphane kullanmaz, çünkü tamamen nesne yönelimli programlama paradigmalarına geçmek kafa karıştırıcı olabilir.

Nesne yönelimli programlamada, bir sınıf, içerdiği bilgiyi değiştiren yöntemler adı verilen bir veri, değişken ve fonksiyon topluluğudur. Nesne yönelimli bir dil olmayan C programlama dili için bir işlev kütüphanesi olarak OpenGL®'in kökenleri, geliştirilen yöntemlerin ve programlama uygulamalarının bazılarının nesne yönelimli programlamaya uygun olmadığı anlamına gelir. Bazı işletim sistemleri ve diğer cihazlar nesne yönelimli dillere daha fazla güvenmeye başladığında, birkaç OpenGL® sınıfı kütüphanesi ortaya çıktı.

OpenGL® sınıf kütüphanelerinin bazıları basit OpenGL® fonksiyonlarını kapsamaya başladı. Bu programlama için güvenli ve uyumlu bir çerçeve sağladı. Her ne kadar bu tür bir sınıf bazı diller için gerekli olsa da, yine de destekleyici sınıfların işlevsel bir uygulama haline getirilmesi gerekiyordu. Gerçekten organize kütüphaneler, OpenGL® fonksiyonlarını aslında bir dizi sınıfa böldü; her biri, kitaplık oluşturma gibi farklı bir öğeyi yönetiyordu.

Temel OpenGL® motorunda bir dizi OpenGL® sınıfı kütüphanesi genişlemeye ve daha fazla işlevsellik eklemeye başladı. Bu, öncelikle bir sahnedeki nesnelerin işlenmesi için sahne grafiği olarak adlandırılan özel bir sınıf içeriyordu. Bu sınıflar, her seferinde yeni bir OpenGL® çerçevesi icat etmek zorunda kalmadan bir sahneyi oluşturmaktan ve çıkış yapmaktan daha fazlasını yapan bir program yapmak için inşa edilebilecek mantıklı bir yapı sağlarken, çekirdek kütüphaneler için sarmalayıcı görevi gördü.

Neredeyse her OpenGL® kütüphanesi, yardımcı program kütüphaneleri de dahil olmak üzere, bir şekilde veya başka bir şekilde nesne yönelimli bir forma çevrilmiştir. Bu, bazı durumlarda, geliştiricilerin OpenGL®'in nesne yönelimli bir ortamda nasıl uygulanacağına dair çoğunlukla tek tip bir plan oluşturarak mevcut çeşitli cihazlarda OpenGL®'i güncel tutmasını kolaylaştırmıştır. Nesne yönelimli geliştirme araçlarının eklenmesiyle, bir OpenGL® sınıfının görsel gelişimi destekleyen bir programa sürüklenip bırakılmasını mümkün kılarak daha karmaşık yönlerin bazılarını basitleştirmiştir.