Co to jest wielokąt OpenGL®?

Polygon Open Graphics Library® (OpenGL®) to każdy obiekt wykonany w OpenGL®, który składa się z więcej niż dwóch wierzchołków. Zasadniczo każdy obiekt, który nie jest punktem lub linią, jest uważany za wielokąt. OpenGL®, a także większość kart graficznych, zwykle mają specjalne optymalizacje, które mogą poradzić sobie przede wszystkim z trójokątami lub trójokątami trójstronnymi, ponieważ trójkąty są najprostszym rodzajem wielokąta, które można wykonać przy najmniejszej liczbie wierzchołków i boków. W niektórych przypadkach czworobok lub czterostronne wielokąty mogą być obsługiwane przez OpenGL®, głównie w trybach rysunku dwuwymiarowego (2D). Z wyjątkiem wypukłego, prostego wielokąta OpenGL®, większość kształtów z więcej niż trzema wierzchołkami zostanie ostatecznie podzielona na trójkąty poprzez proces zwany tessellacją, który może mieć dramatyczne niepożądane efekty na scenie.

Jedynym rodzajem wielokąta OpenGL®, który można narysować natywnie bez potrzeby tessellacji, jest po prostu poligonem. Taki typ kształtu następujemnie bardzo proste zasady. Boki muszą być wypukłe, co oznacza, że ​​nie tworzą kątów na wierzchołkach mniejszych niż 90 °. Żadne krawędzie nie mogą się nawzajem przekraczać, a każde tylko dwie linie mogą się spotykać w dowolnym danym wierzchołku. Ogranicza to prosty wielokąt do samowystarczalnego kształtu 2D, takiego jak kwadrat lub ośmiokąt, ponieważ gdyby był trójwymiarowy (3D), wówczas więcej niż dwie linie spotykałyby się na niektórych wierzchołkach.

Podczas konstruowania bardzo złożonego wielokąta OpenGL® często łatwiej jest utworzyć obiekt w zewnętrznym programie modelowania 3D. To nie tylko pozwala na wygodniejsze, wizualne środowisko, w którym budować obiekt, ale ma dodatkową zaletę, że zapewniono projektantowi kontrolę nad tym, jak kształty są tesselowe, więc nie powodują problemów po renderowaniu. Alternatywnie, wielokąta można tworzyć proceduralnie za pomocą algorytmów, które wykreślają wierzchołki zgodnie z wzorem, co można zrobić, aby utworzyć helisę lub SPWzór iral.

Każdy wielokąt OpenGL® ma twarz, stały obszar wewnątrz linii kształtu. Chociaż możliwe jest zmiana tego zachowania, ogólnie każdy wielokąt jest widoczny tylko wtedy, gdy jego twarz wskazuje na kamerę widokową. Jeśli wielokąt jest skierowany w niewłaściwy sposób, może stać się niewidoczne, w zależności od trybu renderowania.

Każdy wielokąt OpenGL® ma również wartość znaną jako normalna. Normalna jest używana do zdefiniowania kierunku, przed którym stoi powierzchnia wielokąta. Mimo że wielokąt jest wyraźnie pod pewnym kątem i w określonej pozycji, normalna powierzchnia może pomóc w stworzeniu specjalnych efektów tekstury lub naśladowania właściwości fizycznych, które nie są jednolite. Normalny dla wielokąta OpenGL® można ustawić na dowolną wartość, nawet wartości ujemne, chociaż wyniki mogą być nieprzewidywalne.

INNE JĘZYKI