Co to są linie OpenGL®?
W Open Graphics Library® (OpenGL®) linie są jednym z podstawowych prymitywnych kształtów, które OpenGL® jest w stanie narysować, i stanowią jeden z elementów składowych, które czasami są używane do renderowania trójkątów. Linie OpenGL® to po prostu prosta, łącząca grafika między dwoma wierzchołkami. Chociaż koncepcja i wykonanie linii OpenGL® mogą być proste, ich renderowanie zajmuje więcej czasu niż innych prymitywów w niektórych implementacjach, częściowo dlatego, że nie ma specyfikacji dotyczącej ich zachowania w standardzie OpenGL®. Bezpośrednie użycie linii OpenGL® może czasami dawać nieoczekiwane rezultaty, ponieważ linie są rasteryzowane w określony sposób, który może sprawiać, że wydają się oderwane od innej geometrii w scenie lub wydają się być nieco oddalone od miejsca, w którym powinny być. Oprócz linii podstawowej, linie OpenGL® mogą być również formowane w paski linii i pętle, podobnie jak paski trójkąta, przy czym koniec każdej linii jest początkiem następnej.
Gdy są używane w scenie, linie OpenGL® są rodzajem pierwotnego kształtu składającego się z dwóch wierzchołków lub współrzędnych w przestrzeni trójwymiarowej (3D), które są połączone prostą, widoczną ścieżką. W przeciwieństwie do innych prymitywów, takich jak trójkąt, linia na ogół nie ma powierzchni, chociaż nadal można ją pokolorować poprzez mieszanie i kolorowanie wierzchołków. Linie są często używane w matematycznych i naukowych wizualizacjach 3D, a także w dwuwymiarowych (2D) wskaźnikach wyświetlania - takich jak krzyżyk lub strzałki wskazujące obszary wyświetlania - dla widza.
Szerokość linii można do pewnego stopnia określić za pomocą OpenGL®. Można określić liczbę pikseli szerokości, jaką powinna mieć linia w danym punkcie, chociaż nie ma prawdziwego standardu dla tego, jak powinna ona działać z jednej platformy na drugą. W niektórych sytuacjach szerokość nie może być w ogóle zmieniona, podczas gdy w innych przypadkach szerokość linii OpenGL® jest ograniczona do pozornie dowolnej liczby.
Oprócz linii podstawowej wiele linii OpenGL® można łączyć w celu utworzenia dwóch innych struktur znanych jako paski linii i pętle linii. Paski linii to po prostu sekwencja wierzchołków, w której początek każdej nowej linii jest punktem końcowym ostatniej linii. Jest to głównie funkcja wygodna, ale może renderować szybciej niż używanie pojedynczych linii. Pętla linii jest prawie identyczna z paskiem linii, z tym wyjątkiem, że ostatni wierzchołek pętli jest następnie ponownie połączony z pierwszym określonym wierzchołkiem.
Jedną z komplikacji podczas korzystania z linii OpenGL® jest to, że ponieważ mają one domyślnie szerokość tylko 1 piksela, czasami nie renderują się we właściwy sposób. W niektórych przypadkach, szczególnie jeśli linia jest wygładzona, niektóre piksele obrazu rastrowego mogą nie być wyświetlane. Sama linia może również pojawić się kilka pikseli od miejsca, w którym ma być. Jest to w dużej mierze spowodowane niewielkimi różnicami w matematyce zmiennoprzecinkowej używanej przez OpenGL®; nie zawsze jest to problem, który można łatwo rozwiązać bez konwersji linii na wielokąty do celów renderowania.