Co to jest kula OpenGL®?
Sfera Otwarta Biblioteka Graphics® (OpenGL®), na najbardziej podstawowym poziomie, jest obiektem trójwymiarowym (3D) złożonym z serii trójkątów lub czworoboków, których wierzchołki są w równym stopniu od punktu środkowego. Oznacza to, że gdy kula OpenGL® jest oglądana pod dowolnym kątem, zarys pojawia się jako idealne okrąg dla widza, chociaż oświetlenie i cieniowanie mogą nadać objętości bardziej podobny do kulki. Liczba wierzchołków używanych do utworzenia kuli OpenGL® określa gładkość obiektu w jego przybliżeniu faktycznej kuli, przy czym każde mniej niż 12 punktów tworzy obiekt, którego nie można uznać za kulę. Mimo że kula jest uważana za kształt prymitywny w wielu aplikacjach graficznych i bibliotekach, OpenGL® nie ma żadnej wrodzonej funkcjonalności do renderowania kuli, co oznacza dodatkowe zestaw narzędzi, takich jak openGL® Utility Toolkit (GLUT), aby uniknąć pisania kodu w celu ręcznego wygenerowania kształtu.
podczas radzenia sobie z VERTICES w OpenGL®, najmniejsza liczba punktów, które można wykorzystać do wygenerowania kuli o pewnym stopniu gładkości, wynosi 12, tworząc obiekt z 20 trójkątnymi twarzami zwanymi jako Idahedron. Bez dalszego przetwarzania skonstruowana w ten sposób kula OpenGL® będzie miał widoczne ostre zakątki wokół krawędzi, co może być dopuszczalne dla niektórych aplikacji. Aby osiągnąć bardziej zaokrągloną kulę, każda twarz musi być dalej podzielona.
Zastosowanie idahedronu w celu zwiększenia liczby zawartych w nim wierzchołków i utworzenia gładszej kuli OpenGL® polega na tworzeniu nowych wierzchołków na środku każdego krawędzi każdego istniejącego trójkąta. Oznacza to, że każda trójkątna twarz będzie teraz zawierać cztery trójkąty. Podział może kontynuować tyle, ile wymaga, chociaż wykładniczo dodanie punktów może szybko utworzyć obiekt, który ma wysoki czas renderowania i może stać się nieporęczny.
Mimo some Z udogodnień matematycznych sfery OpenGL® zapewnia programistów, takich jak normalne powierzchniowe, które można łatwo obliczyć na podstawie współrzędnych wierzchołków, teksturowanie kuli może przedstawić pewne złożoności. Używanie standardowej dwuwymiarowej (2D) tekstury wyświetlonej na kuli oznacza, że górne i dolne obszary obrazu tekstury zostaną skompresowane, ponieważ kształt trójkątów w pobliżu słupów kuli same są sprężone. Aby to przezwyciężyć, można zastosować mapowanie kostki lub programista może ręcznie wygenerować współrzędne tekstury dla obiektu.
Należy zauważyć jeden czynnik na temat korzystania z biblioteki użytkowej do generowania kuli OpenGL®. Kula generowana przez GLUT lub podobne zestaw narzędzi może czasem być trudna do zmodyfikowania, zoptymalizowania i zarządzania w samym OpenGL®. Z tego powodu czasami korzystne jest użycie niestandardowego kodu pisemnego w celu wygenerowania sfery OpenGL®, aby została tworzona i może być używana w najbardziej wydajny sposób wIthin Program.