Co to jest kula OpenGL®?

Kula Open Graphics Library® (OpenGL®), na najbardziej podstawowym poziomie, jest trójwymiarowym (3D) obiektem złożonym z szeregu trójkątów lub czworoboków, których wierzchołki są w równej odległości od punktu środkowego. Oznacza to, że gdy oglądana jest kula OpenGL® pod dowolnym kątem, kontur wydaje się widzowi idealnym okręgiem, chociaż oświetlenie i cieniowanie mogą nadać objętości bardziej podobny do kuli wygląd. Liczba wierzchołków użytych do utworzenia kuli OpenGL® określa gładkość obiektu w przybliżeniu rzeczywistej kuli, przy czym dowolne mniej niż 12 punktów tworzy obiekt, którego nie można uznać za kulę. Mimo że sfera jest uważana za prymitywną formę w wielu aplikacjach graficznych i bibliotekach, OpenGL® nie ma żadnej wrodzonej funkcjonalności do renderowania sfery, co oznacza, że ​​należy unikać dodatkowych zestawów narzędzi, takich jak narzędzie narzędziowe OpenGL® (GLUT), aby uniknąć pisania kodu aby ręcznie wygenerować kształt.

W przypadku wierzchołków 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 powierzchniami zwanymi dwudziestościanem. Bez dalszego przetwarzania sfera OpenGL® skonstruowana w ten sposób będzie miała widoczne ostre rogi wokół krawędzi, co może być akceptowalne w niektórych zastosowaniach. Aby osiągnąć bardziej zaokrągloną kulę, każdą twarz należy dodatkowo podzielić.

Podział dwudziestościanu w celu zwiększenia liczby zawartych w nim wierzchołków i utworzenia gładszej kuli OpenGL® wymaga utworzenia nowych wierzchołków w środku każdej 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 być kontynuowany tak długo, jak jest to wymagane, chociaż dodawanie punktów wykładniczo może szybko stworzyć obiekt, który ma wysoki czas renderowania i może stać się trudny do tłumaczenia.

Pomimo niektórych matematycznych udogodnień, kula OpenGL® zapewnia programistom, takie jak normalne powierzchni, które można łatwo obliczyć ze współrzędnych wierzchołków, teksturowanie kuli może mieć pewne złożoności. Zastosowanie standardowej dwuwymiarowej (2D) tekstury rzutowanej na kulę oznacza, że ​​górne i dolne obszary obrazu tekstury zostaną ściśnięte, ponieważ kształt trójkątów w pobliżu biegunów kuli jest sam ściśnięty. Aby temu zaradzić, można zastosować odwzorowanie kostki lub programista może ręcznie wygenerować współrzędne tekstury dla obiektu.

Należy zwrócić uwagę na jeden czynnik dotyczący korzystania z biblioteki narzędzi do generowania kuli OpenGL®. Kula generowana przez GLUT lub podobne zestawy narzędzi może czasami być trudna do modyfikacji, optymalizacji i zarządzania w samym OpenGL®. Z tego powodu czasem korzystne jest użycie niestandardowego kodu pisanego do generowania kuli OpenGL®, dzięki czemu jest on tworzony i można go używać w najbardziej efektywny sposób w ramach programu.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?