Skip to main content

Co to jest OpenGL Wielokąt?

Otwarta biblioteka graficzna i reg;(OpenGL reg;) Polygon to dowolny obiekt wykonany w OpenGL 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 zajmują się 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ć z najmniejszych wierzchołków i stron.W niektórych przypadkach czworobok lub czterostronny wielokąty mogą być obsługiwane przez OpenGL głównie w trybach rysunku dwuwymiarowego (2D).Z wyjątkiem wypukłego, prostego OpenGL Polygon, 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.

Jedyny rodzaj OpenGL Wielokąt, który można narysować natywnie bez potrzeby tessellacji, jest znany jako po prostu wielokąt.Ten rodzaj kształtu jest zgodny z bardzo prostymi zasadami.Boki muszą być wypukłe, co oznacza, że nie tworzą kąty na wierzchołkach mniejszych niż 90 i deg;.Ż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 OpenGL Polygon, 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ślą wierzchołki zgodnie z wzorem, co można zrobić w celu stworzenia helisy lub wzoru spiralnego.

Każdy OpenGL Polygon 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ę niewidoczny, w zależności od trybu renderowania.

Każdy OpenGL Polygon 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 OpenGL wielokąta może być ustawiona na dowolną wartość, nawet wartości ujemne, chociaż wyniki mogą być nieprzewidywalne.