Udostępnij za pośrednictwem


Podstawowa operacja OpenGL

Na poniższym diagramie przedstawiono sposób przetwarzania danych przez usługę OpenGL. Jak pokazano, polecenia są wprowadzane od lewej strony i przechodzą przez potok przetwarzania. Niektóre polecenia określają obiekty geometryczne, które mają być rysowane, a inne kontrolują sposób obsługi obiektów podczas różnych etapów przetwarzania.

Diagram przedstawiający etapy potoku przetwarzania danych OpenGL.

Etapy przetwarzania w podstawowej operacji OpenGL są następujące:

  • Wyświetlanie listy Zamiast natychmiastowego przechodzenia przez potok wszystkich poleceń, można wybrać gromadzenie niektórych z nich na liście wyświetlania do późniejszego przetwarzania.

  • Ewaluator Etap ewaluatora przetwarzania zapewnia wydajny sposób przybliżenia geometrii krzywej i powierzchni poprzez ocenę wielomianowych poleceń wartości wejściowych.

  • operacje na wierzchołki i zestaw pierwotny openGL przetwarza geometryczne punkty pierwotne, segmenty linii i wielokątne, z których wierzchołki są opisane przez wierzchołki. Wierzchołki są przekształcane i oświetlone, a elementy pierwotne są przycinane do widoku w ramach przygotowań do rasteryzacji.

  • Rasteryzacja Etap rasteryzacji tworzy serię adresów buforu ramowego i skojarzonych wartości przy użyciu dwuwymiarowego opisu punktu, segmentu linii lub wielokąta. Każdy utworzony fragment jest wprowadzany do ostatniego etapu operacji na fragmenty.

  • operacje na fragmenty Są to końcowe operacje wykonywane na danych, zanim będą przechowywane jako piksele w ramce.

    Operacje na fragmentach obejmują aktualizacje warunkowe ramkibuffer na podstawie przychodzących i wcześniej przechowywanych wartości z (na potrzeby buforowania z) oraz łączenia przychodzących kolorów pikseli z przechowywanymi kolorami, a także maskowania i innych operacji logicznych na wartościach pikseli.

Dane mogą być wprowadzane w postaci pikseli, a nie wierzchołków. Dane w postaci pikseli, takie jak mogą opisywać obraz do użycia w mapowaniu tekstur, pomija pierwszy etap przetwarzania opisany powyżej, a zamiast tego są przetwarzane jako piksele na etapie operacji pikseli. Po wykonaniu następujących operacji pikseli dane pikseli są następujące:

  • Przechowywane jako pamięć tekstury do użycia na etapie rasteryzacji.
  • Rasteryzowane, z wynikowymi fragmentami scalanymi z ramką tak, jakby zostały wygenerowane na podstawie danych geometrycznych.