Rasteryzacja — Rasterisation

obraz graficzny rastrowy

Rasteryzacja (lub rasteryzacja ) polega na wykonaniu obrazu opisanego w formacie grafiki wektorowej (kształtach) i przekształceniu go w obraz rastrowy (seria pikseli , kropek lub linii, które razem wyświetlone tworzą obraz, który był reprezentowany). poprzez kształty). Obrazów rastrowych mogą być następnie wyświetlane na ekranie komputera , wyświetlania wideo lub drukarkę lub przechowywane w bitmap formacie. Rasteryzacja może odnosić się do techniki rysowania modeli 3D lub konwersji prymitywów renderowania 2D, takich jak wielokąty , segmenty linii na format zrasteryzowany.

Termin wywodzi się z niemieckiego Raster („framework, schema”), od łacińskiego rāstrum , „skrobak, grabie”.

Rasteryzacja obrazów 3D

Rasteryzacja jest jedną z typowych technik renderowania modeli 3D. W porównaniu z innymi technikami renderowania, takimi jak ray tracing , rasteryzacja jest niezwykle szybka i dlatego jest używana w większości silników 3D w czasie rzeczywistym. Jednak rasteryzacja jest po prostu procesem obliczania mapowania z geometrii sceny na piksele i nie określa konkretnego sposobu obliczania koloru tych pikseli. Konkretny kolor każdego piksela jest przypisywany przez cieniowanie (które w nowoczesnych procesorach graficznych jest całkowicie programowalne ). Cieniowanie może opierać się na prawach fizycznych, ich przybliżeniach lub czysto artystycznym zamyśle.

Proces rasteryzacji modeli 3D na płaszczyznę 2D w celu wyświetlenia na ekranie komputera („ przestrzeń ekranu ”) jest często wykonywany przez sprzęt o stałej funkcji (nieprogramowalny) w ramach potoku graficznego . Dzieje się tak, ponieważ nie ma motywacji do modyfikowania technik rasteryzacji stosowanych w czasie renderowania, a system specjalnego przeznaczenia pozwala na wysoką wydajność.

Rasteryzacja trójkąta

rasteryzacja trójkątów przy użyciu reguły lewego górnego rogu

Powszechną reprezentacją cyfrowych modeli 3D jest wielokąt . Przed rasteryzacją poszczególne wielokąty są rozbijane na trójkąty, dlatego typowym problemem do rozwiązania w rasteryzacji 3D jest rasteryzacja trójkąta. Właściwości, które są zwykle wymagane od algorytmów rasteryzacji trójkątów, to rasteryzacja dwóch sąsiednich trójkątów (tj. tych, które mają wspólną krawędź)

  1. nie pozostawia dziur (nierasteryzowanych pikseli) między trójkątami, dzięki czemu zrasteryzowany obszar jest całkowicie wypełniony (podobnie jak powierzchnia sąsiednich trójkątów). I
  2. żaden piksel nie jest rasteryzowany więcej niż raz, tzn. zrasteryzowane trójkąty nie nakładają się. Ma to zagwarantować, że wynik nie będzie zależał od kolejności rasteryzacji trójkątów. Nadpisywanie pikseli może również oznaczać marnowanie mocy obliczeniowej na piksele, które zostałyby nadpisane.

Prowadzi to do ustalenia reguł rasteryzacji gwarantujących powyższe warunki. Jeden zestaw takich reguł nazywa się regułą lewego górnego rogu , która mówi, że piksel jest rasteryzowany wtedy i tylko wtedy, gdy

  1. jego środek leży całkowicie wewnątrz trójkąta. Lub
  2. jego środek leży dokładnie na krawędzi trójkąta (lub wielu krawędziach w przypadku rogów), czyli (lub, w przypadku rogów, wszystkie są) krawędzią górną lub lewą .

Górna krawędź jest krawędzią która jest dokładnie pozioma i leży powyżej innych krawędzi i lewej krawędzi stanowi krawędź niehoryzontalnego który znajduje się po lewej stronie trójkąta.

Ta reguła jest implementowana np. przez Direct3D i wiele implementacji OpenGL (mimo że specyfikacja jej nie definiuje i wymaga jedynie spójnej reguły).

Jakość

Dokładność pikseli (po lewej) a subpiksel (po prawej)

Jakość rasteryzacji można poprawić, stosując antyaliasing , który tworzy „gładkie” krawędzie. Precyzja subpikselowa to metoda, która uwzględnia pozycje w mniejszej skali niż siatka pikseli i może dawać różne wyniki, nawet jeśli punkty końcowe prymitywu mieszczą się w tych samych współrzędnych pikselowych, tworząc płynniejsze animacje ruchu. Prosty lub starszy sprzęt, taki jak PlayStation 1 , nie posiadał subpikselowej precyzji w rasteryzacji 3D.

Zobacz też

Bibliografia

Zewnętrzne linki