Pakiet GPU to wykonany na zamówienie układ o nazwie Holly działający z częstotliwością 100 MHz, zaprojektowany przez firmę VideoLogic (obecnie znana jako Imagination Technologies) i wyprodukowany przez NEC. Tak się składa, że rdzeniem 3D Holly jest PowerVR2 firmy Videologic (nazywany również 'PowerVR Series2' i 'CLX2').
Firma VideoLogic wybrała alternatywne podejście do budowy swojego silnika 3D o nazwie Opóźnione Renderowanie Oparte na Kafelkach (lub TBDR).
Zamiast renderować całą klatkę naraz (jak to robią tradycyjne Renderery w Trybie Natychmiastowym lub 'IMR' ), TBDR dzieli obszar renderowania na wiele sekcji zwanych 'kafelki'. Następnie wykonuje proces renderowania na każdym kafelku osobno, a wynik jest łączony, tworząc ostateczną klatkę .
Ta innowacyjna konstrukcja przynosi ciekawe korzyści:
- Może być znacznie zrównoleglony, co znacznie zmniejsza wykorzystanie przepustowości i zużycie energii.
- Implementuje sprytne rozwiązanie problemu z widocznością automatycznie sortując wielokąty od przodu do tyłu a następnie przeprowadzając testy z na pierwszych etapach potoku. Połączenie tych zadań nie tylko rozwiązuje pierwotny problem, ale także zapobiega przerysowywaniu (rasteryzacji ukrytych wielokątów) która marnuje zasoby i obniża wydajność.
Nic dziwnego, że firma Imagination wykorzystała tę wydajną technologię do budowy rdzeni PowerVR z serii 4, które zasilały niewiarygodną liczbę urządzeń, w tym pierwszą generację iPhone'a, iPhone'a 3G, Nokię N95 i Della Axim x51.
Architektura
Przyjrzyjmy się dwóm głównym komponentom GPU Dreamcasta :
Tile Accelerator

Architektura Tile Accelerator.
Przed rozpoczęciem procesu renderowania komponent znany jako Tile Accelerator wykonuje wstępne przetwarzanie. Rozpoczyna się od przydzielenia kilku pojemników 32x32 kafelków, w których zostanie wyrenderowana geometria.
Następnie Tile Accelerator:
- Pobiera dane geometrii i polecenia rysowania wydawane przez CPU (za pomocą DMA lub tradycyjnych transferów).
- Przekonwertuje te dane na format wewnętrzny.
- Rozprowadzi geometrię do każdego pojemnika na podstawie jego współrzędnych. Przycięta geometria również zostanie odrzucona.
- Wygeneruje wynikowe listy wyświetlania.
Te listy wyświetlania są następnie interpretowane przez silnik 3D: PowerVR2.
Rdzeń PowerVR2

Architektura Rdzenia PowerVR2.
W tym miejscu grafika zostaje ożywiona, listy wyświetlania otrzymane od TA informują rdzeń o renderowaniu geometrii pojedynczego kafelka przy użyciu wewnętrznego bufora-klatki. Proces wygląda następująco:
- Image Synthesis Processor lub 'ISP' pobiera prymitywy (trójkąty lub czworokąty) i wykonuje Usuwanie ukrytych powierzchni aby usunąć niewidoczne wielokąty. Następnie, po obliczeniu buforów Z i szablonów, dane przechodzą przez Testowanie Głębokości, aby uniknąć renderowania wielokątów, które pojawiałyby się za innymi i Testy Szablonowe, aby usunąć geometrię, która nie będzie widoczna, jeśli znajduje się za wielokątem 2D (nazywanym również Maską).
- Zwróć uwagę na to, że testy te są przeprowadzane na początku potoku. W przeciwieństwie do tego poprzednie konsole używające późnego buforowania Z odrzucają geometrię na końcu potoku. Podejście ISP zapobiega przetwarzaniu geometrii, która ostatecznie zostanie odrzucona , oszczędzając w ten sposób zasoby.
- Texture and Shading Processor lub 'TSP' stosuje kolorowanie, cieniowanie i wiele efektów na obszarze kafelka.
- Tekstury nie są stosowane, dopóki kafelek nie zostanie wyeksportowany, co oznacza, że pojawiające się przerysowanie (jeśli występuje) nie obniży współczynnika wypełniania.
Po zakończeniu operacji wyrenderowany kafelek jest zapisywany w głównym buforze klatki w VRAM. Ten proces jest powtarzany, aż wszystkie kafelki zostaną ukończone. Po zakończeniu wynikowy bufor ramki jest pobierany przez enkoder wideo i wysyłany przez sygnał wideo.
Szersza perspektywa
Oprócz wyraźnej różnicy architektonicznej, Texture and Shading Processor ma wiele możliwości, które dają wyobrażenie o tym, jak daleko ta konsola jest od starego Saturna. Oto kilka godnych uwagi przykładów:
- Mieszanie alfa: Łączy kolory nakładających się warstw, aby uzyskać efekty przezroczystości.
- Proces stosowany do stosowania przezroczystości w tym systemie nazywa się przezroczystością niezależną od kolejności. Algorytm automatycznie sortuje prymitywy przed zmieszaniem ich kolorów i chociaż spowalnia to proces renderowania, unika polegania na tym, że sama gra wykonuje wszystkie czynności ręcznie. Z tego powodu gry Dreamcast są wybitne w wyświetlaniu przezroczystych obiektów.
- W połączeniu z systemem opartym na kafelkach przezroczystość niezależna od kolejności całkowicie rozwiązuje poprzednie wpadki.
- Mip-Mapping: Automatycznie wybiera pomniejszoną wersję tekstury w zależności od wymaganego poziomu szczegółowości. Ma to na celu zapobieganie przetwarzaniu dużych tekstur, które byłyby widoczne z dużej odległości od kamery (co byłoby marnowaniem mocy obliczeniowej i powodowałoby aliasing).
- Mapowanie środowiska: Stosuje odbicia na teksturach.
- Filtrowanie Dwuliniowe, Trójliniowe i Anizotropowe: Są to różne algorytmy używane do wygładzania tekstur i zapobiegania pikselizacji. Są one uporządkowane od 'najgorszych' do 'najlepszych', gdzie wynikowa jakość każdego z nich jest wprost proporcjonalna do ilości wymaganych obliczeń.
- To ogromny krok naprzód w stosunku do Saturna, ponieważ nie zapewniał żadnego filtra tekstur!
- Mapowanie wypukłości: Symuluje defekty na powierzchniach bez wydawania dodatkowych wielokątów.
W rezultacie...
Holly może teraz narysować ~10 razy więcej wielokątów niż jego poprzednik, oto przykład Przed & Po który pokazuje, że projekty modeli nie są już tak ograniczone. Spróbuj się z nimi pobawić!

Model interaktywny dostępny w nowoczesnej edycji
Sonic R (1997) dla Saturna.
286 trójkątów (lub 185 czworokątów).

Model interaktywny dostępny w nowoczesnej edycji
Sonic Adventure (1999) dla Dreamcast.
1001 trójkątów.
Tryby Wideo
System wideo został zaprojektowany do obsługi wielu typów ekranów i formatów, dlatego wideoenkoder wysyła sygnał do gniazda o jednym kształcie, które obsługuje następujące rodzaje sygnałów:
- Kompozytowy: łączy trzy sygnały potrzebne do wyświetlania wideo (kolorystyka, jasność i synchronizacja) w jeden, wymagając tylko jednopinowego kabla.
- Jest to używane w starych telewizorach PAL i NTSC z połączeniem RCA.
- S-Video: Łączy jasność i synchronizację przy jednoczesnym zachowaniu separacji barwy (łącznie dwie linie sygnału wideo).
- RGB: Wysyła oddzielne sygnały czerwony-zielony-niebieski i zapewnia różne typy synchronizacji do wyboru (synchronizacja kompozytowa lub wyodrębniona z kompozytowego wideo lub S-Video).
- Tego typu użyje kabel SCART.
- VGA: Łączy RGB z dwoma sygnałami synchronizacji (poziomym i pionowym), dając w sumie pięć linii sygnału wideo. Umożliwia to wyświetlanie w największej możliwej rozdzielczości (720x480) w trybie progresywnym (stąd ten tryb jest często nazywany '480p'). VGA był przez pewien czas standardowym formatem/medium używanym przez monitory komputerowe.
- Aby użyć tego typu, Sega dostarczyła adapter VGA jako dodatkowe akcesorium.
Dreamcast nie może zakodować ich wszystkich jednocześnie, więc GPU i procesor Audio zawierają rejestr o nazwie Tryb Obrazu, który koordynuje, które magistrale wideo/audio zostaną aktywowanie, aby wygenerować żądany sygnał. Procesor wykrywa rodzaj włożonego kabla (sprawdzając, które 'wybrane bity' złącza wideo są aktywne) i zapisuje wymagane wartości na GPU. Na koniec wartości są przekazywane do procesora Audio.
Ponieważ VGA jest ściśle progresywnym typem sygnału (w przeciwieństwie do tradycyjnego sygnału z przeplotem), pojawiły się pewne problemy ze zgodnością z grami, które zostały zaprojektowane tylko dla wideo z przeplotem. Te wyraźnie stwierdzają w swoim kodzie, że gra nie będzie wyświetlana na VGA, więc procesor zablokuje grę, dopóki użytkownik nie wymieni kabla VGA na inny typ.
