Skok w trzeci wymiar, S


Skok w trzeci wymiar: Historia kart graficznych

Pierwsze komputery komunikowały się z człowiekiem za pomocą lampek bądź dalekopisu. Z czasem zaczęto używać monitorów, które wyświetlały niezgrabne litery, a potem sięgnięto po ułatwiającą kontakt z użytkownikiem grafikę. Pod tym względem obecne komputery domowe można porównywać z prostszymi stacjami graficznymi Silicon Graphics.

Internetowe strony producentów
układów lub kart graficznych

W 1975 roku firma IBM rozpoczęła sprzedaż swojego pierwszego komputera osobistego, IBM 5100. Kosztujący - bagatelka - 9000 USD system miał 16 KB pamięci, dane pobierał z taśmy, zaś z użytkownikiem komunikował się, wyświetlając informacje na ekranie zdolnym pomieścić 16 linii, po 64 znaki każda.

12 sierpnia 1981 roku IBM wprowadził do sprzedaży następcę modelu 5100, IBM 5150 Personal Computer, pradziadka dzisiejszych pecetów. Był to pierwszy komputer IBM z procesorem firmy Intel, szesnastobitowym 8088. Nowy PC doczekał się także lepszego adaptera graficznego - MDA (Monochrome Display Adapter). Urządzenie potrafiło wyświetlić aż 25 linii tekstu, z których każda mieściła 80 znaków. Do tego dochodziły cztery "kolory" liter: biały (a właściwie szary), czarny, rozjaśniony biały oraz... podkreślenie (underline - liczone jako czwarty "kolor"). Nadal nie było mowy o jakiejkolwiek grafice.

MDA wysyłał cyfrowy sygnał i pracował jedynie z odpowiednimi, monochromatycznymi monitorami TTL. Te z kolei nie musiały być koniecznie czarno-białe; najczęściej spotykane były monitory świecące kolorem zielonym albo bursztynowym.

IBM PC miał otwartą architekturę - urządzenia peryferyjne komunikowały się z jego płytą główną przez magistralę ISA. Również takiej magistrali używał MDA oraz wszystkie karty graficzne, po SVGA włącznie.

Nie tylko tryb tekstowy

Budowa karty graficznej

Typowa karta graficzna składa się z czterech elementów: płytki drukowanej, procesora graficznego, pamięci (zwykle w postaci kilku kostek) oraz układu RAMDAC (często integruje się go z procesorem graficznym w jednej kości).
Karta graficzna komunikuje się z komputerem poprzez jedną z czterech magistrali: ISA (spotykaną w pierwszych kartach graficznych), Vesa Local Bus (używaną w niektórych systemach z procesorem 486), PCI (dziś powszechnie stosowaną) oraz najnowszą AGP.
Po otrzymaniu informacji od procesora komputera (CPU) o potrzebnej grafice, chip karty przygotowuje ją, pomagając sobie zainstalowaną na karcie pamięcią (w przypadku kart AGP do przechowywania tekstur używana jest dodatkowo pamięć komputera).
Gdy obraz jest już gotowy, zapisywany jest w obszarze wydzielonym w pamięci karty w postaci zbioru różnokolorowych punktów. Ów zbiór punktów zwany jest ramką (frame), zaś obszar pamięci - buforem ramki (frame buffer). Przykładowo, grafika o rozdzielczości 1024x768 przy 24-bitowym kolorze zajmuje ok. 2,36 MB. Wyliczyć można to w dość prosty sposób: mapa bitowa o rozdzielczości 1024x768 składa się z 1024x768 = 786432 punktów. Kolor każdego z nich opisany jest na 24 bitach, czyli trzech bajtach. Zatem jedna ramka zajmuje w pamięci 1024x768x3 bajty = 2359296 bajtow. Karta graficzna musi mieć więc co najmniej 2,5 MB pamięci (czyli w praktyce 4 MB), by wyświetlić rozdzielczość 1024x768 przy 16,8 mln kolorów.
Z bufora ramki dane pobierane są punkt po punkcie przez układ RAMDAC. Ten zamienia cyfrowo opisane punkty na analogowe impulsy prądu o napięciu zależnym od koloru punktu. Na ich podstawie powstaje obraz na monitorze.

0x08 graphic

Niedługo potem IBM zaproponował swoją pierwszą kartę graficzną - CGA (Color Graphics Adapter), która prócz tekstowych trybów pracy oferowała pierwsze tryby graficzne. Pierwszy, chyba najbardziej utożsamiany z CGA, miał rozdzielczość 320x200, z "oszałamiającą" liczbą czterech kolorów (dostępnych z dwóch palet: pierwsza zawierała kolory: biały, czarny, różowy i jaskrawoniebieski, a druga także biały i czarny oraz niezdecydowany zielony i pomarańczowoczerwony). Drugi tryb oferował większą rozdzielczość - 640x200, jednak już tylko w dwóch kolorach.

Z rozdzielczości 320x200 zaczęli korzystać pierwsi producenci gier dla pecetów, ale w większości przypadków efekty były naprawdę paskudne.

W 1982 roku powstał słynny "Hercules", którego pełna nazwa brzmi: Hercules Graphics Adapter (HGC). Oferował tryb tekstowy 80x25 oraz wysokorozdzielczy graficzny tryb monochromatyczny (czarno-biały) 720x348. HGC stał się rychło niekwestionowanym standardem, notabene pierwszym stworzonym przez niezależną firmę. Był także zgodny z MDA (czym nie mogła się "poszczycić" CGA). Pojawiły się także programowe emulatory CGA dla Herculesa, które pozwalały posiadaczom HGC uruchamiać coraz liczniejsze gry pisane wyłącznie dla CGA.

Całkiem przyzwoita karta graficzna - EGA (Enhanced Graphics Adapter) - powstała dopiero dwa lata później. Była zgodna z CGA oraz MDA i oferowała nowy tryb graficzny: 640x350 przy 16-tu kolorach (z palety 64 barw). Podobnie jak wszystkie poprzednie karty, dawała cyfrowy sygnał TTL (RGBI) i współpracowała z kolorowymi oraz monochromatycznymi monitorami TTL.

W 1987 roku pojawiła się na rynku karta PGA, posiadająca tylko jeden tryb graficzny - 640x480 przy 256 kolorach. Mimo znakomitych jak na owe czasy możliwości, nie przyjęła się na rynku.

VGA - prawdziwy standard

W tym samym roku, 2 kwietnia, narodziła się karta graficzna z prawdziwego zdarzenia - VGA (Video Graphics Array), będąca do dziś minimalnym standardem we wszystkich aplikacjach graficznych (łącznie z najnowszymi Windows 98). Dla graczy oferowała 256-kolorowy tryb pracy (z 18-bitowej palety barw, tj. 262 144 odcieni!) przy rozdzielczości 320x200, a do codziennej pracy 16 kolorów w rozdzielczości 640x480. VGA miała także szybkie tryby tekstowe (m.in. 80x25 znaków w 16 kolorach) i była zgodna z CGA i EGA. VGA, jako jedna z pierwszych, wysyłała analogowy sygnał RGB, który mógł wyświetlać teoretycznie nieskończoną liczbę kolorów. W tym samym czasie IBM wyposażał swoje komputery z serii PS/1 i PS/2 w nieco prostszą wersję karty VGA - MCGA (MultiColor Graphics Adapter), która stosowała znany z VGA tryb 320x200 przy 256 kolorach, ale w rozdzielczości 640x480 pracowała jedynie w trybie monochromatycznym.

Dla użytkowników bardziej profesjonalnych IBM zaprojektował także kartę 8514/A, oferującą oszałamiającą wówczas maksymalną rozdzielczość 1024x768 przy 256 kolorach. Aby zachować cenę, którą mogli zaakceptować potencjalni nabywcy takiego zestawu karta-monitor, w trybie tym zastosowano przeplot (interlace). Na ekranie wyświetlane były przemiennie linie parzyste i nieparzyste, co niestety dawało niekorzystny efekt uboczny - obraz nieprzyjemnie migotał i dłuższa praca w takich warunkach nie miała praktycznie sensu.

8514/A była jednym z pierwszych akceleratorów grafiki płaskiej. Prócz możliwości stawiania punktów o wybranym kolorze w miejscu określonym dwiema współrzędnymi - X i Y, 8514/A przyspieszała sprzętowo różne operacje, m.in. rysowanie linii ukośnych określonych jedynie punktem początkowym i końcowym, wypełnianie wielokątów wybranym kolorem itp.

Narodziny SVGA

Bity a liczba kolorów

Często spotkać się można z określeniem "16-bitowy kolor" zamiast bezpośredniego: "65 tysięcy kolorów". Liczbę bitów łatwo przeliczyć na liczbę kolorów. Jest to po prostu binarny zapis liczby barw możliwych do uzyskania przez jeden piksel obrazu. Jeśli więc mamy do czynienia z 16-bitowym kolorem, czyli kolor każdego punktu jest opisany przez szesnaście bitów, a więc może przyjąć jedną z 216 = 65536 wartości. Stąd 16-bitowy kolor to ok. 65 tysięcy barw (64K czyli 65536), zaś 24-bitowy kolor to aż 16,8 mln (16M czyli 16777216) odcieni!

Bity

Liczba kolorów

1

2

2

4

3

8

4

16

5

32

6

64

8

256

15

32 768

16

65 536

18

262144

24

16 777 216

32

4 294 967 296

VGA została rychło uznana za faktyczny standard, do którego dostosowywało się coraz więcej producentów kart graficznych. Apetyty producentów programów ciągle jednak rosły. Szybko okazało się, że rozdzielczość 320x200 przy 256 kolorach jest jednak zbyt niska, również nie wystarczało 16 kolorów przy rozdzielczości 640x480, więc nowe karty graficzne osiągały z czasem coraz większe rozdzielczości: 800x600, 1024x768, 1280x1024 aż po 1600x1200 przy 16 lub 256 kolorach wyświetlanych jednocześnie.

Owe karty graficzne zostały określone ogólnym mianem SVGA (Super VGA), jednak poza standardowymi trybami VGA nie były ze sobą zgodne, bowiem każdy producent stosował własne rozwiązania. Powstała więc organizacja VESA (Video Electronics Standards Association), którą utworzyły największe firmy produkujące karty graficzne i monitory. VESA rozpoczęła proces standaryzacji wszystkich nowinek spotykanych w kartach graficznych. Tak powstała "wirtualna karta" VESA SVGA. By zachować z nią zgodność, producenci kart graficznych początkowo dostarczali do swoich produktów mały programowy emulator. W obecnych kartach standard VESA jest już na poziomie sprzętowym.

W międzyczasie, w 1990 roku, IBM zaproponował swą nową kartę graficzną - XGA (eXtended Graphics Array), następczynię 8514/A. Urządzenie było zdolne w rozdzielczości 640x480 wyświetlić jednocześnie aż 32 768 kolorów (z 24-bitowej palety barw, czyli dokładnie 16 777 216 odcieni). Wyższe rozdzielczości, jak 1024x768, urządzenie prezentowało w 256 kolorach. Niestety oryginalna XGA stworzona była jedynie dla architektury Microchannel (obecnej w komputerach z linii PS/2), zatem posiadacze klonów nie mogli się nią zadowolić.

Po XGA pojawił się akcelerator XGA-2; podobnie jak XGA i 8514/A przyspieszał rysowanie linii, operacje na pojedynczych punktach oraz całych ich blokach, a także wypełnianie wielokątów dzięki czemu w środowiskach graficznych (Windows, OS/2) był do 20 razy szybszy niż VGA.

W tym czasie VESA opracowała rozszerzenie magistrali ISA do pełnych 32 bitów (ISA w najszerszym wariancie była 16-bitowa). Nowa magistrala, nazwana VESA Local Bus (VLB), pozwalała kartom graficznym na dużo większą szybkość pracy - stanowiła de facto "przedłużenie" wyprowadzeń procesora 486 (co zresztą później okazało się jej największą wadą).

Zaraz potem Intel opracował własną magistralę - PCI (Peripheral Component Interconnect), zupełnie różniącą się od ISA. PCI jest magistralą bardzo szybką - w najbardziej rozpowszechnionej, 32-bitowej wersji pozwala na przesyłanie do 132 MB/s (64-bitową magistralę PCI stosuje np. Digital w swoich serwerach i stacjach roboczych). Choć początkowo PCI przegrywała w konkurencji z VLB (m.in. ze względu na swą niezgodność z ISA i duże rozpowszechnienie kart VLB), ostatecznie jednak stała się niekwestionowanym standardem. Ostateczny koniec VLB nastąpił w momencie wprowadzenia procesorów Pentium.

Pojawienie się nowych magistral zmobilizowało producentów kart graficznych do opracowania nowych akceleratorów (dla VLB i PCI; ISA jako interfejs kart graficznych była już na wymarciu). Wbogacali swoje urządzenia o coraz większe możliwości akceleracji płaskiej, prześcigając się wzajemnie osiągnięciami określanymi w tzw. benchmarkach (programach mierzących szybkość). Kartom graficznym wciąż rozszerzano pamięć, by uzyskać wyższe rozdzielczości w wyższych trybach graficznych. Na początku procesory graficzne komunikowały się z pamięcią karty po 16-bitowej szynie. Szynę tę zastąpiono 32-bitową, następnie 64-bitową, zaś dziś coraz większą popularność zdobywa szyna 128-bitowa. Kolejnym krokiem naprzód był już tylko skok w trzeci wymiar.

Sławne Millennium

0x01 graphic

0x01 graphic

0x08 graphic

Jedną z pionierskich kart graficznych posiadających pierwsze funkcje 3D (three-dimensional, czyli trójwymiarowe) była sławna Millennium firmy Matrox. Jej 64-bitowy procesor, MGA-2064W, tworzył w pamięci karty bufor Z (o 16-bitowej głębi), przechowujący informacje o położeniu punktów na osi Z ("w głąb" ekranu). Millennium potrafiła ponadto cieniować przestrzenne bryły metodą Gourauda.

Zaraz potem pojawił się pierwszy dedykowany graczom procesor 3D - NV1 firmy NVIDIA (znanej dziś z procesorów RIVA 128), potrafił m.in. sprzętowo nakładać tekstury. Zastosowała go firma Diamond w karcie Edge 3D. Mimo ogromnego zainteresowania miłośników gier, Edge nie znalazła zbyt wielu nabywców ze względu na wysoką cenę - kosztowała bowiem ponad 2000 zł, podczas gdy prostą kartę graficzną korzystającą z magistrali PCI można było kupić już za 200 zł.

Pierwszy układ graficzny 2D/3D "dla mas" - ViRGE (Video and Rendering Graphics Engine) firmy S3 - pojawił się dopiero w 1995 roku. Był pełnowartościowym akceleratorem grafiki płaskiej, miał także bardzo szeroki na owe czasy wachlarz funkcji 3D: sprzętowe teksturowanie, bilinearne filtrowanie tekstur, MIP-mapping, cieniowanie Gourauda, efekty atmosferyczne, alpha blending i 16-bitowy bufor Z. Procesor firmy S3 znakomicie sobie radził w trybie dwuwymiarowym; niestety w trzech wymiarach układ jedynie "upiększał" trójwymiarowe obrazy dzięki filtrowaniu tekstur i pracy w 16-bitowym kolorze. Co więcej, w niektórych grach (np. Monster Truck Madness) szybkość animacji była większa w przypadku obrazowania programowego - po przełączeniu gry w tryb sprzętowej akceleracji przez układ ViRGE, animacja zwalniała! Stąd czasem spotkać się można z określeniem ViRGE jako... deceleratora.

Mimo wszystko ViRGE zasłużył się na rynku PC, wprowadzając grafikę 3D pod strzechy. Korzystające z niego karty graficzne kosztowały niewiele więcej niż ich zwykłe, "dwuwymiarowe" odpowiedniki; dlatego zyskał ogromną popularność i do dziś montowany jest w wielu nowych komputerach jako standardowy sterownik graficzny. Oryginalny ViRGE doczekał się zresztą kilku nowych wersji o znacznie większych możliwościach (ViRGE DX, GX, GX2). Zaraz po ViRGE rynek zalały kolejne karty graficzne przyspieszające lepiej lub bardziej operacje przestrzenne. Karty te osiągami niewiele różniły się od ViRGE, często nawet miały bardzo okrojoną listę funkcji 3D (np. brak filtrowania tekstur czy alpha blendingu).

Każda miała własny API - interfejs programowania aplikacji (np. API dla kart ViRGE był to S3d). Zatem np. gry pisane dla procesora 3D Rage nie działały na ViRGE i odwrotnie. Problemowi temu postanowił zaradzić Microsoft, wzbogacając interfejs API Directx, wchodzący w skład Windows, o nowy komponent - Direct3D. Wreszcie gry pisane dla Direct3D działały na każdym akceleratorze 3D, nawet jeśli producent gry nie wiedział o jego istnieniu.

Magia Voodoo

Rok później pojawił się chipset wspomagający grafikę przestrzenną, który okazał się trzykrotnie szybszy od ViRGE - Voodoo Graphics firmy 3Dfx Interactive. Nie dość, że karty z tym układem czyniły z naszych Pentium komputery trzykrotnie silniejsze (oczywiście tylko pod względem grafiki), to jeszcze jakość obrazu dosłownie powalała (użytkowników i konkurencję) na kolana. Sama 3Dfx reklamowała swój produkt jako Silicon Graphics Reality Engine na platformie PC. Co ciekawe, Voodoo to tylko i wyłącznie "dopalacz" grafiki 3D. Nie obsługuje on grafiki dwuwymiarowej ani trybu tekstowego, zatem do pracy wymaga obecności w komputerze karty zgodnej z VGA. Przez rok wielu producentów układów graficznych próbowało bezskutecznie wyprzedzić Voodoo. W tym czasie Voodoo został uznany za standard akceleratorów 3D, zaś jego interfejs - Glide - do dziś konkuruje z Direct3D czy OpenGL.

AGP - szybka magistrala graficzna

Ewolucja monitora

Monitor jest jednym z najwolniej zmieniających się urządzeń komputerowych. Są jednak próby zastąpienia tradycyjnego monitora CRT (Cathode Ray Tube) monitorami nowej generacji -np. ciekłokrystalicznymi (LCD). Monitory te są wielokrotnie mniejsze i lżejsze (ważą ok. 5 kg w porównaniu do 20 kg dla przeciętnego monitora CRT), zużywają mniej prądu itd.
Niestety, najczęściej kąt widzenia monitorów LCD jest bardzo wąski, zatem musimy na nie patrzeć dokładnie prostopadle. Ponadto w gorszych modelach (z tzw. pasywną matrycą) wykluczona jest całkowicie animacja (a nawet szybkie ruchy kursorem myszy), bowiem na ekranie powstają smugi poprzednich "klatek". Wady tej nie mają droższe wyświetlacze TFT.
Ostatnim czynnikiem zaporowym jest cena, która np. dla monitora LCD o ekranie 14" równa jest cenie monitora CRT o ekranie 21".

OpenGL - biblioteka dla profesjonalistów

OpenGL (Open Graphics Library) to, opracowana w laboratoriach firmy Silicon Graphics, niezależna od platformy sprzętowej biblioteka funkcji do tworzenia trójwymiarowych obrazów. Również Microsoft wprowadził implementację OpenGL, początkowo do Windows NT 3.51, potem także do Windows 95 (w wersji OSR2). Zaczęły się pojawiać pierwsze gry korzystające z OpenGL: Quake, Quake II, Hexen II. Ma ukazać się także odpowiednia poprawka dla Unreal, pozwalająca grze stosować akcelerację OpenGL.
Producenci kart graficznych tworzą dla swoich urządzeń sterowniki wspomagające sprzętowo rozkazy OpenGL. Profesjonalne akceleratory (np. karty ELSY z serii GLoria) już od dawna sprzętowo obsługiwały OpenGL w środowisku Windows NT. Dla Windows 95 jedną z pierwszych kart tego kart był Voodoo; dla karty tej powstała jednak okrojona wersja sterownika OpenGL, tzw. MCD (Mini Client Driver), przyspieszająca jedynie wybrany zestaw instrukcji potrzebny grze Quake. Obecnie coraz więcej firm pracuje nad sterownikami OpenGL ICD (Installable Client Driver), realizującymi wszystkie instrukcje OpenGL. Taki gotowy sterownik powstał już dla kart z układem RIVA 128, zarówno dla Windows 95/98, jak i NT 4.0.

Szybka grafika w Windows

DirectX to programowy interfejs API dla Windows (95/98/NT4/NT5), umożliwiający aplikacjom bezpośredni dostęp do sprzętu (kart graficznych, muzycznych, joysticków itd.). Służy do pisania równie szybkich programów dla Windows, jak niegdyś dla DOS.
W skład DirectX wchodzą m. in. systemy DirectDraw oraz Direct3D. Ten pierwszy pojawił się w pierwszych wersjach DirectX i jest odpowiedzialny za bezpośredni dostęp do pamięci karty graficznej. Drugi, wprowadzony dopiero wraz z trzecią wersją Direct3D, ujednolica sposób wykorzystania wszystkich akceleratorów grafiki 3D.
Tworzenie grafiki za pomocą Direct3D składa się z trzech procesów: obliczeń geometrycznych, oświetlenia i tworzenia mapy bitowej. Wszystkie procesy (albo tylko część) mogą być wspomagane sprzętowo - o ile akcelerator ma taką możliwość i ma sterowniki zgodne z DirectX. Wówczas używa się trybu Direct3D HAL (Hardware Abstraction Layer) - warstwy abstrakcji sprzętu. Jeśli jakaś funkcja nie może być przyspieszona sprzętowo, DirectX korzysta z trybu Direct3D HEL (Hardware Emulation Layer), czyli programowej emulacji brakujących funkcji.

Pod koniec 1996 roku Intel ogłosił specyfikację nowej magistrali - AGP (Accelerated Graphics Port), przeznaczonej wyłącznie dla kart graficznych. Przy jej użyciu akcelerator komunikuje się z komputerem z prędkością do 528 MB/s, możliwe jest również przechowywanie tekstur w pamięci komputera (zamiast w pamięci lokalnej karty graficznej). Nieco ponad pół roku później, firma NVIDIA rozpoczęła sprzedaż swego nowego układu - 128-bitowego RIVA 128 (Real-time Interactive Video and Animation). Był to pierwszy układ, który w testach Direct3D wyprzedził Voodoo, osiągając wyniki nawet dwukrotnie lepsze! Karty graficzne z procesorem RIVA miały ponadto bardzo często wyjścia zespolonego sygnału wizyjnego (Composite Video - umożliwiające przyłączenie do nich np. telewizora) oraz wejścia wideo (pozwalające oglądać w okienku filmy z przyłączonej kamery wideo czy magnetowidu). Przykładem takiej karty jest ELSA VICTORY Erazor.

Przez prawie rok RIVA 128 królowała na rynku układów graficznych i - mimo że w dziedzinie grafiki 3D rok to cała epoka - wciąż jest to najlepiej sprzedający się układ. Do grona producentów procesorów graficznych 3D dołączył ostatnio również Intel, prezentując opracowany wspólnie ze specjalistami z firmy Real3D układ i740.

Nowy król: Voodoo2

Firma 3Dfx nie poddała się i w marcu tego roku rozpoczęła sprzedaż następcy Voodoo - Voodoo2. Nowy układ, podobnie jak jego starszy brat, obsługuje tylko operacje trójwymiarowe. Jest jednak trzykrotnie szybszy od swego poprzednika i tym samym ponownie bije osiągami Rivę. Na dodatek karta graficzna z chipsetem Voodoo2 potrafi pracować równolegle z drugą taką kartą w tzw. trybie SLI (Scan Line Interleave), gdzie jeden akcelerator obrazuje linie parzyste, zaś drugi nieparzyste. W trybie SLI osiągnięcia Voodoo2 wzrastają dwukrotnie.

Producenci konkurencyjnych układów graficznych znów rozpoczęli pościg tym razem za Voodoo2. Matrox sprzedaje już karty graficzne z nowym układem MGA- G200, którego jakość obrazu przewyższa jakość Voodoo/Voodoo2. NVIDIA szykuje potężny układ RIVA TNT, który w pewnych zastosowaniach może być szybszy nawet od dwóch Voodoo2 w trybie SLI. Firma S3, przez dłuższy czas pozostająca poza peletonem, zamierza wrócić do czołówki z bardzo szybkim procesorem Savage3D. NEC/VideoLogic także przyszykował smakowity kąsek - chip PowerVR Second Generation (PVRSG). Również mniej znane firmy chcą wejść ze swoimi tanimi produktami na rynek: Silicon Reality z silnym układem TAZ-3D, ARK z Tiger 3D. W przyszłym roku inna, mało znana firma z Finlandii - BitBoys zamierza podbić rynek akceleratorem 3D o nazwie Glaze 3D. Układ ma być dwukrotnie szybszy od RIVY TNT! Poczekajmy jednak kilka miesięcy, aż pojawią się pierwsze testy Glaze w Internecie, a może nawet egzemplarz karty z tym układem trafi do naszego laboratorium.

Tak czy owak moc układów graficznych będzie rosła, tak samo będzie rósł wachlarz oferowanych przez nie funkcji. Chociaż trudno przewidzieć, co rewolucyjnego zajdzie w graficznych chipach, można przypuszczać z dużą dozą prawdopodobieństwa, że już niedługo będą sprzętowo dekodowały filmy w formacie MPEG-2 (robią już to procesory Mpact-2 firmy Chromatic Research). Nam pozostaje jedynie spokojnie czekać, bowiem w miarę upływu czasu otrzymujemy coraz potężniejsze karty graficzne za coraz mniejsze pieniądze.

Rozdzielczość a pamięć na karcie graficznej

Rozdzielczość
+ 16-bitowy bufor Z*

Liczba
kolorów

Pamięć potrzebna
w trybie 2D

Pamięć potrzebna
w trybie 3D
(podwójne buforowanie)

640x480

256

307 KB

1228 KB

640x480

64 K

614 KB

1842 KB

640x480

16 M

921 KB

2456 KB

800x600

256

480 KB

1920 KB

800x600

64 K

960 KB

2880 KB

800x600

16 M

1440 KB

3840 KB

1024x768

256

786 KB

3144 KB

1024x768

64 K

1572 KB

4716 KB

1024x768

16 M

2359 KB

6290 KB

1152x864

256

995 KB

3980 KB

1152x864

64 K

1990 KB

5970 KB

1152x864

16 M

2985 KB

7960 KB

1280x1024

256

1310 KB

5241 KB

1280x1024

64 K

2621 KB

7863 KB

1280x1024

16 M

3932 KB

10485 KB

1600x1200

256

1920 KB

7680 KB

1600x1200

64 K

3840 KB

11520 KB

1600x1200

16 M

5760 KB

15360 KB

* - bufor ramki (nie licząc tekstur)

Słowniczek

Alpha blending - zlewanie ze sobą dwóch lub więcej obrazów przy użyciu kanału alfa (przezroczystości). Alpha blending służy do uzyskania np. efektu szkła, wody, ognia.
Anti-aliasing - wygładzanie ukośnych krawędzi poprzez rozmywanie ich z tłem.
API (Application Programming Interface) - programowy interfejs aplikacji, udostępnia programiście funkcje systemu.
Bufor ramki (frame buffer) - część pamięci karty graficznej przechowująca gotowy obraz (ramkę); pamięć obrazu.
Bufor Z (Z-buffer) - część pamięci wydzielonej na karcie graficznej przechowująca położenie punktu "w głąb" ekranu (a więc jego współrzędną Z).
CGA - Color Graphics Adapter, pierwsza karta graficzna dla komputerów IBM PC.
Cieniowanie metodą Gourauda (Gouraud shading) - metoda cieniowania przestrzennych brył polegająca na cieniowaniu okolic wierzchołków wielokątów składających się na bryłę.
Cieniowanie płaskie (flat shading) - metoda cieniowania polegająca na nadawaniu określonych, jednolitych kolorów poszczególnym wielokątom składającym się na bryłę.
DDC - Display Data Channel - interfejs wykorzystuje kabel sygnałowy łączący monitor i kartę graficzną. Służy do zdalnego sterowania parametrami pracy monitora (oczywiście i karta, i monitor muszą być wówczas zgodne z DDC).
Depth cueing - zacieranie konturów obiektu wraz ze wzrostem jego odległości od obserwatora.
Filtrowanie bilinearne (bilinear filtering) - filtrowanie polegające na zlewaniu ze sobą czterech sąsiadujących pikseli tekstury.
Filtrowanie tekstur (texture filtering) - rozmywanie tekseli (punktów tekstury) metodą bilinearną lub trilinearną w celu zmniejszenia "kanciastości" tekstury wraz z jej zbliżaniem się do obserwatora.
Filtrowanie trilinearne (trilinear filtering) - filtrowanie będące kombinacją filtrowania bilinearnego (dwuliniowego) oraz MIP-mappingu.
Koprocesor geometryczny (geometry setup engine lub triangle setup engine) - procesor zajmujący się obliczeniami położenia wierzchołków wielokątów tworzących bryły; obliczenia te koprocesor geometryczny wykonuje na dużych macierzach.
Korekcja perspektywy (perspective correction) - nakładanie tekstur z zachowaniem odpowiedniej perspektywy, niezależnie od kąta, pod jakim patrzymy na bryłę.
MCGA - MultiColor Graphics Adapter (1987), ulepszona wersja karty CGA r.
Mgła (fog) - efekt zacierania obiektów wraz ze wzrostem ich odległości, przypomina rzeczywistą mgłę.
MIP-mapping (MIP = łac. Multum in Parvam, "wiele w jednym") - nakładanie na obiekt tekstury bardzo zbliżonej do niego rozmiarami; w tym celu z każdej tekstury tworzone są przez procesor graficzny tekstury od niej mniejsze (o rozmiarach najczęściej od 128x128 pikseli, poprzez 64x64 piksele, do 32x32 pikseli).
Piksel (pixel, od picture cell) - punkt na ekranie monitora, obraz o rozdzielczości 640*480 składa się z 480 linii, w każdej po 640 pikseli (w sumie ponad 300 tys. pikseli).
Podwójne buforowanie (double buffering) - przechowywanie w pamięci karty graficznej dwóch następujących po sobie obrazów animacji; jeden jest aktualnie wyświetlany, w tym czasie drugi jest przygotowywany do pokazania. Podwójne buforowanie podwaja liczbę pamięci potrzebnej przy określonej rozdzielczości, daje za to płynniejszą animację.
RAMDAC - Random Access Memory Digital to Analog Converter, układ zamieniający cyfrowo opisane punkty, zapisane w pamięci karty graficznej, na impulsy prądu wysyłane potem do monitora.
Ramka (frame) - jeden obraz lub klatka animacji.
Rastryzacja (rasterizing) - budowanie ostatecznej mapy bitowej obrazu w oparciu o wektorowy opis wielokątów z przypisanymi im teksturami.
Rendering - zespół procesów następujących po transformacjach geometrycznych: teksturowanie, oświetlenie, filtrowanie tekstur oraz rastryzacja. Po polsku obrazowanie.
Rozdzielczość (resolution) - liczba punktów wyświetlanych w jednej linii obrazu i liczba linii obrazu (podawana w postaci np. 640x480).
Teksel (texel, od texture element) - punkt mapy bitowej opisującej teksturę.
Tekstura (texture) - mapa bitowa (np. zdjęcie, rysunek) nakładana na wielokąty budujące tworzony na ekranie trójwymiarowy obiekt.
Teksturowanie (texture mapping) - nakładanie tekstur na wielokąty tworzące bryły w przestrzeni.



Wyszukiwarka

Podobne podstrony:
Trzeci wymiar Skamieniali
Trzeci wymiar miłości, Fan Fiction, Dir en Gray
Trzeci Wymiar, Ćwicz i chudnij
Gimnazjum przekroj, 24. Trzeci wymiar-otwarte, Trzeci wymiar - zadania otwarte
Nauka 2016 Ocena ekspercka jako trzeci wymiar ewaluacji krajowych czasopism naukowych
Falsh i trzeci wymiar [ Flash 5 techniki zaawansowane] (2)
Trzeci wymiar Dla mnie masz stajla
Ochrona prawna Wymiar sprawiedliwosci
Analiza wymiarowa
Erhard trzecia droga
syn skok
zasady wymiarowania 2
Amerykański wymiar bezpieczeństwa
koordynacja wymiarowa
Przestrzenna teoria głosowania zachowania wyborców a wymiary ideologiczne
Pomiar Wymiaru Fraktalnego 08 p8
PN B 01029 Zasady wymiarowania na rysunkach architektoniczno budowlanych

więcej podobnych podstron