Wstęp Grafika komputerowa - jeden z najbardziej ekscytujących działów informatyki. Grafika komputerowa jest działem informatyki, ale jej oddziaływanie sięga daleko poza tę specjalistyczną dziedzinę. W krótkim czasie grafika komputerowa przyciągnęła kilku z najbardziej twórczych ludzi na świecie. Przyszli oni z różnych dyscyplin - sztuki, nauki, muzyki, tańca, filmu i innych: o animatorzy z firmy Disney korzystali z grafiki komputerowej w celu nadania specjalnego uroku scenie w sali balowej w Beauty and the Beast,
o choreograf Merce Cunningham korzysta z grafiki komputerowej do zapisywania ruchu - scenariuszy, na podstawie których tancerze uczą się kroków, o David Em, uznany artysta korzystający z konwencjonalnych mediów, obecnie w swojej pracy używa stale grafiki komputerowej.
Przykłady zastosowań grafiki komputerowej Zakres i różnorodność grafiki komputerowej najlepiej jest przedstawić na przykładach jej zastosowań przyjrzyjmy się dokładniej kilku takim zastosowaniom: Obecnie grafika komputerowa jest stosowana w wielu różnych obszarach: przemysłu, biznesu, w instytucjach rządowych, nauczaniu, rozrywce, itp. Lista zastosowań jest ogromna i szybko wzrasta wraz z rozpowszechnianiem się komputerów wyposażonych w możliwości graficzne. Krótki przegląd kilku zastosowań Interfejsy użytkownika. Prawdopodobnie wszyscy korzystamy z grafiki komputerowej, niektórzy być może nieświadomie. Komputery IBM PC i Macintosh, środowisko X-Windows,
nowe wersje Linux a jesteśmy prawdopodobnie wytrawnymi użytkownikami grafiki. Większość programów użytkowych wykonywanych na komputerach osobistych i na stacjach roboczych ma graficzny interfejsy użytkownika (GUI) podobne do pokazanych na rysunku systemem okien zarządzającym licznymi równoczesnymi czynnościami, z możliwościami wskazywania, pozwalającymi użytkownikowi wybierać:
o opcje z menu, o ikony i o obiekty na ekranie. programy przetwarzania tekstu, arkusze kalkulacyjne, programy przygotowania publikacji, programy nawigacji satelitarnej, itp. Są to typowe zastosowania korzystające z metod interfejsu użytkownika. Grafika odgrywa istotną rolę zarówno w funkcjach
wejściowych, jak i wyjściowych interfejsu użytkownika. Wykresy w biznesie, nauce i technologii. Następnym bardzo popularnym obszarem zastosowań dzisiejszej grafiki jest: tworzenie wykresów 2D i 3D funkcji matematycznych, fizycznych i ekonomicznych, histogramów i wykresów kołowych, wykresów harmonogramowania zadań wykresów wielkości zapasów i produkcji, itd.
Wszystkie te wykresy są używane do prezentowania w przejrzysty i zwięzły sposób tendencji i wzorów uzyskanych z danych, tak żeby wyjaśniać złożone zjawiska i ułatwić podejmowanie decyzji. Kartografia. Grafika komputerowa jest używana do tworzenia zarówno dokładnych, jak i uproszczonych informacji geograficznych oraz o różnych zjawiskach naturalnych na podstawie danych pomiarowych. Przykładami mogą być: mapy geograficzne, mapy plastyczne, mapy eksploracyjne dla wierceń i prowadzenia prac górniczych, wykresy oceanograficzne, mapy pogody, mapy warstwicowe, mapy demograficzne.
Na rysunku pokazano mapę, którą opracowano w celu zilustrowania niektórych aspektów katastrofy spowodowanej wyciekiem ropy w 1989 r. pod Yaldez. Ta mapa jest przykładem odwzorowania tematycznego wartości danych, takie jak przemieszczanie się ropy, są nałożone na mapę stanowiącą w tym przypadku tło.
Medycyna. Grafika komputerowa odgrywa coraz większą rolę w takich dziedzinach jak: diagnostyka medyczna lub planowanie operacji. W tym ostatnim przypadku chirurdzy korzystają z grafiki do wspomagania kierowania przyrządami i do dokładnego określania, w którym miejscu należy usunąć chorą tkankę. Przykład zastosowania grafiki komputerowej w diagnostyce pokazano na rysunku Widać na nim trzy obrazy mózgu człowieka otrzymane metodą rezonansu magnetycznego. Na podstawie szeregu równoległych obrazów pokazanych na rys. a) diagnosta może stworzyć reprezentacje 3D mózgu pokazane na rys. b i c. Użytkownik może interakcyjnie manipulować modelem i uzyskać szczegółowe informacje o stanie mózgu.
Inne interesujące zastosowanie grafiki w medycynie widać na rysunku Pokazano tu wykresy 3D danych otrzymanych po oświetleniu żywej tkanki światłem laserowym metoda ta jest określana jako biopsja optyczna. W tym przypadku widać dużą różnicę w optycznych sygnaturach normalnej a) i zrakowaciałej b) wątroby psa stwarza to nadzieję na możliwość diagnozy nie-chirurgicznej.
Kreślenie i projektowanie wspomagane komputerowo. W projektowaniu wspomaganym komputerowo (CAD) użytkownik korzysta z grafiki interakcyjnej do projektowania elementów i systemów mechanicznych, elektrycznych, elektromechanicznych i elementów elektronicznych, budynki, karoserie samochodów, kadłuby samolotów i statków, struktury o bardzo dużym stopniu scalenia (VLSI) oraz sieci telefoniczne i komputerowe. Zazwyczaj nacisk jest kładziony na interakcję z modelem komputerowym projektowanego elementu albo systemu, ale niekiedy użytkownik chce szybko uzyskać dokładne rysunki elementów i zespołów, np. szkice lub projekty architektoniczne. Na rysunku pokazano rysunek elektrowni jest to przykład wykorzystania systemu CAD przez architektów.
Systemy multimedialne. Grafika komputerowa odgrywa krytyczną rolę w szybko powiększającym się obszarze systemów multimedialnych. Jak już wynika z nazwy, multimedia to więcej niż jedno medium komunikacyjne. W takich systemach na ogół mamy: tekst, grafikę i dźwięk, a mogą występować również inne media. Na rysunku pokazano, jak niekonwencjonalne elementy multimedialne mogą być wykorzystane w nauczaniu.
Rysunek jest zaczerpnięty z multimedialnego podręcznika grafiki komputerowej i pokazano procedurę rysowania odcinka 2D (znaczenie tego kodu będziemy omawiali dokładnie). Kod wyświetlany na multimedialnej stronie jest gotowy do wykonania; oznacza to, że czytelnik wskazując go może go wykonać. Pojawia się wtedy okno robocze, pokazane na rys. b, które umożliwia użytkownikowi wypróbowanie różnych kombinacji położenia końców odcinka i obserwowanie działania algorytmu.
Symulacja i animacja dla wizualizacji naukowej i rozrywki. W wizualizacji naukowej i inżynierskiej coraz popularniejsze stają się obrazy i filmy animowane generowane komputerowo, pokazujące zmienne w czasie zachowanie się rzeczywistych i symulowanych obiektów. Z narzędzi takich można korzystać przy badaniu abstrakcyjnych wielkości matematycznych i modeli matematycznych takich zjawisk jak: przepływ cieczy, teoria względności, reakcje jądrowe i chemiczne, systemy fizjologiczne i działanie organów, deformacje struktur mechanicznych pod wpływem różnych obciążeń. Inną dziedziną zaawansowanej technologii jest produkcja specjalnych efektów w filmach. Dostępne są wyrafinowane mechanizmy modelowania obiektów i reprezentowania świateł i cieni.
Krótka historia grafiki komputerowej W trakcie wykładu będziemy się koncentrować na podstawowych zasadach i metodach, które opracowano w przeszłości, a które wciąż są stosowane i będą stosowane w przyszłości. Przyjrzymy się historycznemu rozwojowi grafiki komputerowej, tak żeby móc umiejscowić dzisiejsze systemy w jakimś kontekście. Łatwiej jest podać chronologię rozwoju sprzętu niż oprogramowania, ponieważ ewolucja sprzętu miała większy wpływ na rozwój tej dziedziny. Dlatego zaczniemy od sprzętu. Już w pierwszych dniach istnienia informatyki wykonywano niedoskonałe rysunki na urządzeniach drukujących takich jak dalekopisy i drukarki wierszowe. Komputer Whirlwind opracowany w 1950 r. w MIT miał wyjściowe urządzenie wyświetlające z elektronopromieniową lampą CRT sterowaną przez komputer, przeznaczoną dla operatora oraz dla tworzenia kopii za pomocą aparatu fotograficznego. Początki nowoczesnej grafiki interakcyjnej można znaleźć w brzemiennej w skutki pracy doktorskiej Ivana Sutherlanda poświęconej systemowi rysującemu Sketchpad. o Wprowadził on struktury danych dla pamiętania hierarchii symboli budowanych
przez powielanie standardowych elementów, technikę podobną do tej, jaka jest używana w plastykowych szablonach do rysowania symboli układów. o Sutherland opracował również metody interakcji za pomocą klawiatury i pióra świetlnego (ręczne urządzenie wskazujące, reagujące na światło emitowane przez obiekt znajdujący się na ekranie) do dokonywania wyborów, wskazywania i rysowania oraz o sformułował wiele innych podstawowych idei i metod, które wciąż są stosowane. W tym samym czasie producenci komputerów, samochodów i sprzętu lotniczego zaczęli doceniać ogromny potencjał systemów CAD i CAM (komputerowe wspomaganie projektowania i produkcji) w zakresie automatyzacji rysowania i innych czynności wymagających wykonywania wielu rysunków. Systemy CAD z General Motors [1964] do projektowania samochodów oraz Itek Digitek [1981] dla projektowania soczewek były pionierskimi programami, które pokazały użyteczność interakcji graficznej w iteracyjnych cyklach projektowania, popularnych w praktyce inżynierskiej. W połowie lat sześćdziesiątych pojawiło się kilka projektów badawczych i komercyjnych produktów. W tamtych czasach, informacje wprowadzano i
wyprowadzano za pomocą kart dziurkowanych w trybie wsadowym i wiązano duże nadzieje z wprowadzeniem interakcyjnej komunikacji użytkownik-komputer. Grafika komputerowa jako okno komputera" miała stać się integralną częścią ogromnie przyspieszonego cyklu interakcyjnego projektowania. Jednak wynik nie był nawet w przybliżeniu taki, jakiego oczekiwano, ponieważ grafika interakcyjna ze względu na wysokie koszty pozostawała wówczas poza zasięgiem większości potencjalnych użytkowników (z wyjątkiem organizacji najbardziej zaawansowanych technologicznie). Aż do początku lat osiemdziesiątych grafika komputerowa była wąską specjalizacją, głównie ze względu na koszty sprzętu i niewielką liczbę programów użytkowych korzystających z grafiki. Później komputery osobiste z wbudowanymi rastrowymi urządzeniami wyświetlającymi - np. Apple Macintosh i IBM PC oraz jego klony - spopularyzowały korzystanie z grafiki z mapą bitową w interakcji użytkownika z komputerem. Mapa bitowa jest to zero-jedynkowa reprezentacja prostokątnej tablicy punktów na ekranie, nazywanych pikselami albo pelami (skrót od picture elements). Wkrótce po tym, jak dostępna stała się grafika z
mapą bitową, nastąpiła eksplozja łatwych w użytkowaniu i tanich zastosowań grafiki. Interfejsy użytkownika wykorzystujące grafikę umożliwiły milionom nowych użytkowników korzystanie z prostych, tanich programów użytkowych takich jak arkusze kalkulacyjne, procesory tekstów i programy rysujące. Koncepcja biurka stała się popularną metaforą organizowania powierzchni ekranu. Dzięki programowi zarządzania oknami użytkownik może tworzyć, umieszczać w odpowiednim miejscu na biurku i zmieniać wielkość prostokątnych powierzchni zwanych oknami, które zachowują się jak wirtualne terminale graficzne, z których każdy wykonuje jakiś program użytkowy. Takie podejście pozwala użytkownikom przełączać się między licznymi zadaniami na zasadzie wskazywania potrzebnego okna, zazwyczaj za pomocą urządzenia wskazującego nazywanego myszką. Podobnie jak kawałki papieru na nieuporządkowanym biurku, okna mogłyby pokryć całą powierzchnię. Częścią tej metafory biurka było również wyświetlanie ikon, które reprezentowały nie tylko pliki danych i programy użytkowe, ale również sprzęty zwykle znajdujące się w biurze - szafki na akta, pudełka na pocztę, drukarki i pojemnik na śmieci - które odgrywają rolę komputerowych odpowiedników ich rzeczywistych
pierwowzorów. Bezpośrednie manipulowanie obiektami na zasadzie ich wskazywania i naciskania na myszkę zastąpiło w znacznym stopniu wypisywanie tajemniczych poleceń stosowanych we wcześniejszych komputerach. W ten sposób użytkownicy mogą wybierając ikony uruchamiać odpowiednie programy lub obiekty albo naciskać przyciski na rozwijanych albo chwilowych menu w celu dokonywania wyborów. Obecnie prawie wszystkie interakcyjne programy użytkowe, nawet te do manipulowania tekstem (na przykład procesory tekstów) albo danych numerycznych (na przykład programy arkuszy kalkulacyjnych), powszechnie wykorzystują grafikę w interfejsie użytkownika i dla wizualizacji i manipulowania obiektami specyficznymi dla zastosowania.
Wyprowadzanie informacji Urządzenia wyświetlające opracowane w połowie lat sześćdziesiątych i wykorzystywane do połowy lat osiemdziesiątych są określane jako monitory wektorowe, kreskowe, rysujące odcinki albo kaligraficzne. Tutaj: określenie wektor jest używane jako synonim odcinka, kreska jest krótkim odcinkiem i znaki są tworzone z ciągów takich kresek. Typowy system wektorowy zawiera procesor monitora procesor pracuje jako zewnętrzne urządzenie wejścia/wyjścia do centralnej jednostki przetwarzającej (CPU) oraz do pamięci buforowej monitora CRT (Cathode-Ray Tube). Istotą systemu wektorowego jest to, że strumień elektronów, który pisze po pokryciu luminoforowym CRT, jest odchylany od jednego końca odcinka do drugiego, zależnie od arbitralnej kolejności poleceń wyświetlania. Taka metoda jest określana jako przeszukiwanie przypadkowe Ponieważ światło emitowane przez luminofor zanika w ciągu dziesiątek albo najwyżej setek mikrosekund, procesor monitora musi cyklicznie przebiegać listę wyświetlanych elementów w celu odświeżania
luminoforu przynajmniej 30 razy na sekundę (30 Hz) po to, żeby uniknąć migotania. Opracowanie na początku lat siedemdziesiątych technologii wyświetlania rastrowego, wykorzystującej technologię telewizyjną miało znacznie większy wpływ na rozwój tej dziedziny niż jakakolwiek inna technologia. Monitory rastrowe pamiętają wyświetlane prymitywy (np. odcinki, znaki i obszary wypełnione w sposób ciągły albo za pomocą wzorów) w pamięci ekranu w postaci pikseli tworzących określony prymityw. w zaawansowanych monitorach rastrowych sprzętowy kontroler monitora odbiera i interpretuje sekwencje poleceń wyjściowych
w prostszych systemach, np. w komputerach osobistych, kontroler monitora istniał tylko jako element programowy biblioteki graficznej, pamięć ekranu jest w takim przypadku częścią pamięci operacyjnej, która może być odczytywana przez podsystem wyświetlania obrazu, określany często jako sterownik (kontroler) wyświetlania. Tworzy on aktualny obraz na ekranie. Kompletny obraz na monitorze rastrowym jest tworzony na bazie rastra, czyli zbioru poziomych linii składających się z pikseli. Raster jest zapamiętywany jako tablica pikseli reprezentujących całą powierzchnię ekranu. cały obraz jest tworzony sekwencyjnie przez sterownik wyświetlania, linia po linii z góry na dół i potem ponownie od góry dla każdego piksela natężenie strumienia jest tak ustawiane, żeby odzwierciedlić jasność piksela
w systemach barwnych są sterowane trzy strumienie - po jednym dla każdej barwy podstawowej: czerwonej, zielonej i niebieskiej - zgodnie ze specyfikacją trzech składowych barwy dla każdej wartości piksela Na rysunku widać na przykładzie wyświetlania prostego rysunku domu a) różnicę między przeszukiwaniem: przypadkowym b), rastrowym c), d) Na rysunku b) strzałki pokazują przypadkowe odchylanie promienia. Linie przerywane oznaczają odchylenie promienia, który nie jest włączony (jest wygaszony); wtedy nie jest rysowany żaden wektor.
Na rysunku c) pokazano nie wypełniony dom utworzony z prostokątów, wielokątów i łuków na rys. d) pokazano wersję wypełnioną. Zwróćmy uwagę na postrzępiony wygląd odcinków i łuków w obrazach rastrowych na rys. c) i d) zakłócenie zwane artefaktem W systemie rastrowym cała siatka pikseli (na przykład 1024 linie po 1024 piksele) musi być bezpośrednio zapamiętana Na początku lat siedemdziesiątych ubiegłego wieku brak tanich półprzewodnikowych pamięci typu RAM potrzebnych do budowy pamięci dla mapy bitowej stanowił istotne ograniczenie rozwoju grafiki rastrowej i uniemożliwiał jej zdobycie dominującej pozycji. Dwupoziomowe monitory CRT (określane również jako monochromatyczne) rysowały obrazy: biało-czarne czarno-bursztynowe albo czarno-zielone w niektórych wyświetlaczach plazmowych były wykorzystywane barwy czarna i pomarańczowa. W dwupoziomowej mapie bitowej każdemu pikselowi jest przyporządkowany 1 bit i cała mapa bitowa ekranu o rozdzielczości 1024 na 1024 piksele liczy 1 048 576 bitów albo 16 384 bajty.
W prostych systemach barwnych jest: 8 bitów na piksel, dzięki czemu dostępnych jest równocześnie 256 barw w innych systemach są 24 bity na piksel i istnieje możliwość wybrania jednej z 16 milionów barw; obecnie pamięci obrazu pozwalają na zapamiętywanie 32 bitami na piksel (RGBA), a standardowa rozdzielczość ekranu 1280 na 1024 piksele zamienia się w komputerach osobistych na wyższe. z tych 32 bitów, 24 są przeznaczone na reprezentowanie barwy a 8 jest wykorzystywanych do celów sterowania (kanał alfa).
dokładniej mówiąc, pojęcie mapy bitowej odnosi się tylko do systemów dwupoziomowych, gdzie jest 1 bit na piksel, dla systemów, gdzie jest wiele bitów dla jednego piksela, używamy bardziej ogólnego pojęcia mapy pikselowej. w potocznym języku mapa pikselowa odnosi się zarówno do zawartości pamięci obrazu, jak i do samej pamięci. Główne zalety grafiki rastrowej: w porównaniu z grafiką wektorową to niższy koszt i możliwość wyświetlania obszarów wypełnionych jednolitą barwą albo wzorami jest to niesłychanie ważna funkcja przy tworzeniu realistycznych obrazów obiektów 3D, Główna wady systemów rastrowych w porównaniu z systemami wektorowymi: dyskretna natura reprezentacji piksela prymitywy, takie jak odcinki i wielokąty, są określane przez parametry ich końców (wierzchołków) i muszą być odwzorowane w pamięci obrazu za pomocą pikseli, o proces odwzorowania, czy też konwersji, jest określany jako rasteryzacja, o w efekcie programista określa współrzędne końców odcinka albo wierzchołków w trybie przeglądania przypadkowego
o system zapewnia przejście do reprezentacji pikselowej przed wyświetleniem w trybie przeglądania rastrowego o w starszych komputerach osobistych i stacjach roboczych, gdzie mikroprocesor CPU był odpowiedzialny za całą grafikę, rasteryzacja była często wykonywana programowo inna wada systemów rastrowych wynika z natury rastra o podczas gdy system wektorowy może rysować ciągłe gładkie odcinki (a nawet gładkie krzywe) w zasadzie od dowolnego punktu na ekranie CRT do dowolnego innego punktu, o system rastrowy może wyświetlać matematycznie gładkie linie, wielokąty i brzegi krzywoliniowych prymitywów, takich jak okręgi i elipsy, tylko na zasadzie ich aproksymacji za pomocą pikseli należących do siatki rastra. o taka aproksymacja może powodować powstawanie dobrze znanego problemu schodków" albo ząbków" To wizualne zakłócenie jest konsekwencją błędu próbkowania określanego w teorii przetwarzania sygnałów jako aliasing takie zakłócenia pojawiają się wówczas, gdy funkcja ciągłej zmiennej zawierająca ostre zmiany jasności jest aproksymowana za pomocą dyskretnych próbek. We współczesnej grafice komputerowej są stosowane metody zwalczania zakłóceń (tak zwany antyaliasing) w
systemach ze skalą szarości i w systemach barwnych. Te metody określają gradację jasności sąsiednich pikseli na granicach prymitywów (a nie ograniczają się do ustawiania tylko maksymalnej albo zerowej jasności)
Wprowadzanie informacji Z upływem lat ulepszono również metody wprowadzania informacji. Niewygodne i delikatne pióro świetlne stosowane w technice wektorowej zastąpiono: wszechobecną myszką (pierwotnie opracowaną przez pioniera techniki biurowej Douga Engelbarta w połowie lat sześćdziesiątych), tabletami, ekranami czułymi na dotyk, itp. Staje się również dostępne urządzenia wejściowe, które określają nie tylko położenie współrzędnych (x, y) na ekranie, ale również współrzędne 3D, a nawet więcej wymiarowe wartości wejściowe (stopnie swobody) Komunikacja dźwiękowa ma również duże potencjalne możliwości, ponieważ umożliwia wprowadzenie informacji bez pomocy rąk i w sposób naturalny wyprowadzenie prostych poleceń, realizowanie sprzężenia zwrotnego itd. Przy standardowych urządzeniach wejściowych użytkownik może określić operacje albo elementy obrazu pisząc lub rysując nową informację albo wskazując informację istniejącą już na ekranie. Ta interakcja nie wymaga znajomości programowania trzeba tylko umieć posługiwać się myszką lub klawiaturą
Użytkownik dokonuje wyborów po prostu na zasadzie wybierania przycisków albo ikon menu, odpowiada na pytania przez oznaczanie opcji albo wpisanie kilku znaków w formularzu, umieszcza na ekranie kopii predefiniowane symbole, rysuje na zasadzie wskazywania kolejnych punktów końcowych, które mają być połączone odcinkami albo interpolowane przez gładkie krzywe, maluje przesuwając kursor po ekranie i wypełnia wielokąty albo zamalowuje wnętrza konturów poziomami szarości, barwami albo różnymi wzorami.
Przenośność oprogramowania i standardy graficzne Postęp w technologii sprzętu umożliwił ewolucję monitorów graficznych od czegoś w rodzaju specjalizowanych urządzeń wyjściowych do standardowego interfejsu użytkownika z komputerem. Czy oprogramowanie dotrzymało kroku? Na przykład, w jakim stopniu rozwiązaliśmy początkowe trudności ze zbyt złożonymi, niewygodnymi i drogimi systemami graficznymi i programami użytkowymi. Przeszliśmy od pakietów niskiego poziomu zależnych od urządzeń, dostarczanych przez producentów i przystosowanych do specyficznych urządzeń wyświetlających, do pakietów wyższego poziomu niezależnych od urządzeń. Te pakiety mogą sterować różnymi urządzeniami wyświetlającymi, poczynając od drukarek laserowych i ploterów a kończąc na naświetlarkach filmów i dobrej jakości interakcyjnych monitorach. Głównym celem korzystania z pakietów niezależnych od sprzętu w połączeniu z językami wysokiego poziomu jest sprzyjanie przenośności programów użytkowych. Pakiet zapewnia przenośność w zasadzie w taki sam sposób jak w przypadku języka wysokiego poziomu
Jest niezależny od komputera przez izolowanie programisty od szczegółów związanych z maszyną i przez udostępnienie funkcji łatwych do implementacji na wielu różnych procesorach. Ogólna świadomość potrzeby standardów dla grafiki niezależnej od urządzeń pojawiła się w połowie lat siedemdziesiątych Punktem kulminacyjnym była specyfikacja 3D Core Graphics System (w skrócie Core) opracowana przez ACM SIGGRAPH Committee (Special Interest Group on Graphics) w 1977 r. i ulepszona w 1979 r. SIGGRAPH jest to jedna z profesjonalnych grup działających w ramach ACM (Association for Computing Machinery). ACM jest jednym z dwóch największych profesjonalnych stowarzyszeń informatyków drugie to IEEE Computer Society. SIGGRAPH publikuje naukowe pisma i sponsoruje coroczną konferencję, na której są prezentowane prace badawcze z zakresu grafiki i z którą jest związana wystawa sprzętu. IEEE Computer Society również publikuje pismo naukowe z zakresu grafiki. Specyfikacja systemu Core odegrała zamierzoną rolę specyfikacji bazowej nie tylko miał on wiele implementacji, ale był również wykorzystany jako
wyjściowy system dla oficjalnych (rządowych) projektów standardów w ramach ANSI (American National Standards Institute) i ISO (International Standards Organization). Pierwszą specyfikacją graficzną, która została przyjęta jako oficjalny standard, był GKS (Graphical Kernel System) [ANSI] dopracowana wersja systemu Core, jednak w przeciwieństwie do tego systemu ograniczona do 2D. W 1988 r. oficjalnym międzynarodowym standardem stał się GKS-3D, rozszerzenie GKS-u w kierunku 3D Podobnie w tym samym roku oficjalnym standardem ANSI stał się bardziej złożony system graficzny PHIGS (Programmer's Hierarchical Interactive Graphics System). W systemie GKS są wyróżnione segmenty grupujące logicznie powiązane ze sobą prymitywy, np. odcinki, wielokąty i ciągi znaków i ich atrybuty. Segmenty te nie mogły być zagnieżdżane. PHIGS, jak to już z jego nazwy wynika, dopuszcza zagnieżdżane hierarchiczne grupy podprymitywów 3D, nazywane strukturami. W systemie PHIGS wszystkie prymitywy, włącznie z przywoływaniem struktur, podlegają przekształceniom geometrycznym (skalowanie, obroty i przesunięcia), dzięki czemu jest możliwy ruch.
PHIGS dopuszcza bazy danych struktur, które programista może selektywnie poddawać edycji, a PHIGS automatycznie uaktualnia ekran po zmianie bazy danych. PHIGS został rozszerzony o zestaw funkcji dla nowoczesnego pseudorealistycznego renderingu obiektów na monitorach rastrowych to rozszerzenie zostało określone jako PHIGS +, zanim zostało skierowane do ANSI/ISO oraz PHIGS PLUS wewnątrz ISO w 1992 r. Ze względu na dużą liczbę funkcji i złożoność specyfikacji, implementacje systemu PHIGS są dużymi pakietami. Implementacje systemu PHIGS, a zwłaszcza PHIGS PLUS są wykonywane najszybciej wówczas, gdy przekształcenia, obcinanie i funkcje renderingu są wspomagane sprzętowo. Obok oficjalnych standardów publikowanych przez narodowe, międzynarodowe albo profesjonalne organizacje standaryzacyjne istnieją standardy nieoficjalne. Te tak zwane standardy przemysłowe albo de facto są opracowywane, promowane i udostępniane na zasadzie licencji przez poszczególne firmy albo konsorcja firm i uniwersytety. Do dobrze znanych graficznych standardów przemysłowych należą: PostScript firmy Adobe,
OpenGL firmy Silicon Graphics, HOOPS firmy Ithaca Software, X Windows System z X-Consortium kierowanego przez MIT i jego rozszerzenie PEX w kierunku grafiki 3D (protokół klient-serwer) Standardy przemysłowe mogą być bardziej rozpowszechnione i dlatego są ważniejsze z punktu widzenia komercyjnego niż oficjalne standardy, ponieważ mogą być szybciej uaktualniane, zwłaszcza te, które są kluczowymi produktami komercyjnymi firmy i stąd mają za sobą znaczne zasoby.