OpenGL® Küresi Nedir?

Bir Open Graphics Library® (OpenGL®) küresi, en temel seviyede, köşeleri tamamen merkezden eşit olan bir dizi üçgen veya dörtgenden oluşan üç boyutlu (3B) bir nesnedir. Bu, bir OpenGL® küresi herhangi bir açıdan bakıldığında, dış çizginin izleyiciye mükemmel bir daire gibi görünmesine rağmen, aydınlatma ve gölgelendirme hacme daha fazla top gibi bir görünüm verebilir. Bir OpenGL® küresi oluşturmak için kullanılan köşelerin sayısı, gerçek bir küreye yaklaşırken nesnenin pürüzsüzlüğünü, küre olarak düşünülemeyen bir nesneyi oluşturan 12 noktadan daha azını belirler. Her ne kadar bir küre birçok grafik uygulama ve kütüphanede bir ilkel olarak kabul edilse de, OpenGL® bir küre oluşturmak için doğuştan gelen bir işlevselliğe sahip değildir, yani OpenGL® yardımcı araç seti (GLUT) gibi ek araç setlerinin kod yazmamak için kullanılması gerekir. şekli elle oluşturmak için.

OpenGL®'deki köşelerle uğraşırken, bir dereceye kadar düzgünlüğü olan bir küre oluşturmak için kullanılabilecek en az sayıdaki puan 12, icosahedron olarak bilinen 20 üçgen yüze sahip bir nesne yaratarak 12'dir. Daha fazla işlem yapılmadan, bu şekilde inşa edilmiş bir OpenGL® küresi, bazı uygulamalar için kabul edilebilecek kenarlarda görünür keskin köşelere sahip olacaktır. Daha yuvarlak bir küre elde etmek için her yüzün daha alt bölümlere ayrılması gerekir.

İçerdiği köşelerin sayısını artırmak ve daha düzgün bir OpenGL® küresi oluşturmak için bir icosahedron'un alt bölümlere bölünmesi, mevcut üçgenin her bir kenarının merkezinde yeni köşeler oluşturmayı içerir. Bu, her üçgen yüzün şimdi dört üçgen içereceği anlamına gelir. Alt bölme, gerektiği kadar devam edebilir, ancak katlanarak noktalar eklemek, hızlı bir şekilde oluşturma süresi yüksek olan ve çevirmek için terbiyesiz hale gelebilen bir nesneyi hızla oluşturabilir.

Bazı matematiksel kolaylıklara rağmen, bir OpenGL® küresi, verteks koordinatlarından kolayca hesaplanabilen yüzey normları gibi programcılara sağlar, bir küreyi tekstüre etmek bazı karmaşıklıklar sunabilir. Küreye yansıtılan standart bir iki boyutlu (2D) doku kullanılması, doku görüntüsünün üst ve alt alanlarının sıkıştırılacağı anlamına gelir, çünkü kürenin kutuplarına yakın üçgenlerin şekli kendiliğinden sıkıştırılır. Bunun üstesinden gelmek için, küp eşleme kullanılabilir veya programlayıcı nesne için doku koordinatlarını manuel olarak oluşturabilir.

Bir OpenGL® küresi oluşturmak için bir yardımcı program kütüphanesinin kullanılması konusunda bir faktöre dikkat edilmelidir. GLUT veya benzeri araçlarla oluşturulan bir kürenin bazen OpenGL®'in kendisinde değiştirilmesi, optimize edilmesi ve yönetilmesi zor olabilir. Bu nedenle, bir OpenGL® küresi oluşturmak için özel yazılı kod kullanmak bazen faydalı olabilir, böylece program oluşturulur ve program içinde mümkün olan en verimli şekilde kullanılabilir.