background image

Standardy graficzne

Wykład 

background image



GKS (

Graphical Kernel System

)



GKS-3D



PHIGS (

Programmer’s Hierarhical Interactive Graphics System

)



PHIGS+



CGM (

Computer Graphics Metafile

)



CGI (

Computer Graphics Interface

)



Standardy przemysłowe



XWindow (

MIT

)



IRIS Performer (

Silicon Graphics

)



OpenGL (

Silicon Graphics

)



PostScript (

Adobe

)

background image

interfejs  między  programem  użytkowym  a  wejściowymi  i 
wyjściowymi urządzeniami grafiki komputerowej



ok. 200 podprogramów do tworzenia obrazu z dostępnych 
prymitywów graficznych i przyjmowania danych z różnych urządzeń



prymitywy graficzne: łamana, markery, wypełniony obszar, tekst, 

tabela komórek 



atrybuty: rodzaj i szerokość linii, sposób wypełniania obszaru



definicja 6 logicznych urządzeń do wprowadzania informacji:

a) urządzenie do podawania współrzędnych punktu - lokalizator
b) urządzenie do podawania współrzędnych ciągu punktów
c) urządzenie do podawania wielkości skalarnej – waluator
d) urządzenie do wprowadzania tekstu
e) wskaźnik elementu obrazu
f) wskaźnik wyboru menu

background image



uogólnienie 

standardu 

GKS 

na 

grafik

trójwymiarową 



wszystkie prymitywy standardu 2D uogólnione 
do trzech wymiarów



dodatkowe funkcje: 



przekształcenia w przestrzeni 3D



operacje usuwania niewidocznych linii i powierzchni



standard 

umożliwia 

tworzenie 

obrazu 

background image

2D  o  złożonej  strukturze  logicznej  oraz  tworzenie 
obrazów tych modeli



czynności definiowania modelu i wyświetlania są oddzielone



prymitywy graficzne: linie, markery, tekst, wypełniony obszar 
oraz związane z nimi atrybuty



możliwość grupowania elementów składowych modelu



możliwość budowania  modeli  o  strukturze  hierarchicznej 
(poszczególne  elementy  mogą być definiowane  w  różnych 
układach  współrzędnych  a  następnie  przenoszone  do 
wspólnego układu)



struktury definiujące model przechowywane w pliku 

background image



o  nowe  prymitywy  i  funkcje  do  modelowania  krzywych  i 
powierzchni:



siatki trójkątne i czworokątne



krzywe i powierzchnie B-sklejane



funkcje do definiowania źródeł oświetlenia:



światło otaczające



światło punktowe kierunkowe



światło punktowe pozycyjne



światło stożkowe



funkcje do realizacji cieniowania: 

background image

- wyznaczenie wektorów normalnych do wszystkich wierzchołków

jako średniej arytmetycznej wektorów normalnych wszystkich ścian,
do których ten wierzchołek należy.

- na podstawie wektora normalnego wyznaczenie barwy wierzchołka 

korzystając z wybranego modelu oświetlenia

2.

Liniowa interpolacja barwy dla wszystkich punktów wielokąta zgodnie 
z zaprezentowanymi wzorami

background image

każdego punktu wielokąta, a następnie wyznaczenie na tej podstawie 
intensywności barwy. 

Etapy:
1.

Wyznaczenie wektorów normalnych do wszystkich wierzchołków wielokąta 
jako średniej arytmetycznej wektorów normalnych wszystkich ścian, do 
których ten wierzchołek należy.

2.

Liniowa interpolacja wartości wektorów normalnych dla wszystkich punktów 
wielokąta (dla wszystkich pikseli):
2.1. Interpolacja wzdłuż krawędzi;
2.2. Interpolacja wzdłuż linii horyzontalnych.

3.

Na podstawie wartości wektorów normalnych wyznaczenie barwy dla 
wszystkich punktów wielokąta zgodnie z przyjętym modelem oświetlenia 

background image

a)

model nieoświetlony

b)

cieniowanie stałą barwą wielokąta

c)

cieniowanie metodą Gourauda

d)

cieniowanie metodą Phonga

background image

zdolne do  przyjmowania, przechowywania  i  przetwarzania
informacji  wejściowych oraz  generowania  wyjściowych
informacji obrazowych



funkcje standardu są niezależne od urządzenia



funkcje  standardu  są  ulokowane  pomiędzy  oprogramowaniem  (standard 

GKS) a urządzeniem lub metaplikiem

Funkcje CGI:



funkcje sterujące: określają tryby pracy innych funkcji



prymitywy graficzne i ich atrybuty: opisują elementy obrazu 



funkcje rastrowe: umożliwiają generowanie i przetwarzanie map bitowych



funkcje  segmentowe:  umożliwiają pamiętanie  i  manipulowanie  grupami 

prymitywów i ich atrybutów
funkcje wejściowe: umożliwiają odbieranie danych obrazowych

background image
background image

XWindow (

MIT

)



IRIS Performer (

Silicon Graphics

)



OpenGL (

Silicon Graphics

)



PostScript (

Adobe

)

background image

konsorcjum OpenGL  Architecture  Review  Board (

Silicon 

Graphics, IBM, Intel, HP, Microsoft, Intergraph

)



biblioteka kilkuset procedur i funkcji graficznych opracowana dla
potrzeb najnowszych tendencji w technologii sprzętu grafiki 
komputerowej. Wykorzystywany model klient – serwer, w którym 
klient (program) wysyła polecenia a serwer (GL) wykonuje 
polecenia



OpenGL jest niezależny od systemu operacyjnego (UNIX, Linux, 
Win95/98/NT, Mac OS, OS/2) i dostępny na wielu platformach 
sprzętowych



OpenGL stanowi podstawę do tworzenia zaawansowanych bibliotek 
graficznych (np. 

SGI OpenGL Performer, MultiGen-Paradigm Vega 

background image

prymitywów graficznych w pełnym zestawie barw (24 bity)



wykonywanie 

na  obiektach  przekształceń  geometrycznych 

(translacje, rotacje, skalowanie, rzutowanie)



wykonywanie 

obliczeń 

związanych 

oświetleniem, 

odwzorowaniem  tekstur  i  usuwaniem  niewidocznych  linii  i 
powierzchni



wspomaganie programisty w zakresie realizacji złożonych efektów 
graficznych,  takich  jak:  wizualizacja  mgły  i  głębi  przestrzennej, 
rozmycie obiektów w ruchu, oraz usuwanie efektu aliasingu

background image



opisywania 

złożonych 

obiektów 

za 

pomocą 

gotowych 

mechanizmów 

(np. 

brak 

wbudowanych 

mechanizmów 

zapisywania/czytania modeli obiektów z pliku)



generowania w sposób automatyczny efektów wizualnych takich 
jak: cienie, odbicia lustrzane obiektów

background image



krzywe 

powierzchnie 

nieregularne 

definiowane 

przez 

niejednorodne parametryczne funkcje B-sklejane (NURBS)



pełen zestaw barw (24 bity)



cieniowanie metodą Gourauda



operacje HLHSR realizowane z wykorzystaniem Z-bufora



modelowanie oświetlenia (do 8 różnych źródeł światła)



operacje na pixelach



funkcje sterujące buforowaniem ekranu



antyaliasing 



funkcje sterujące nakładaniem (mapowaniem) tekstury
modelowanie efektów atmosferycznych (mgła, zachmurzenie, pora 

background image
background image

Void Kwadrat() 
{

glColor3f(0.0,0.0,1.0);
glBegin(GL_QUADS);

glVertex3f(0.0, 0.0, 0.0); 
glVertex3f(0.0, 1,0, 0.0); 
glVertex3f(1.0, 1.0, 0.0); 
glVertex3f(1.0, 0.0, 0.0);

glEnd(); 

Płaszczyzna XY

Obiekt: kwadrat o boku 1 leżący na płaszczyźnie XY

background image

Void Koło() 
{

glColor3f(0.0,1.0,0.0);
glBegin(GL_TRIANGLE_FUN);

glVertex3f(0.0, 0.0, 0.0);

for (i=0; i*dAlfa<=360.0; i++);

{

glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

0.0,r*sin(DEG2RAD(i*dAlfa)));

- dAlfa – wartość kąta wyznaczającego kolejny punkt na okręgu 

dAlfa=360/N;   gdzie: N-liczba podziałów koła

Płaszczyzna XZ

v

1

v

2

v

3

v

4

v

5

v

6

v

8

v

7

v

0

background image

Void powierzchnia_boczna_walca() 
{

glColor3f(1.0,1.0,0.0);
glBegin(GL_QUAD_STRIP);

for (i=0; i*dAlfa<=360.0; i++);

{

glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

0.0,r*sin(DEG2RAD(i*dAlfa)));

glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

podstawy w punkcie (0,0,0) leżącej na płaszczyźnie XZ 

- dAlfa – wartość kąta wyznaczającego kolejny punkt na brzegu podstawy 

dAlfa=360/N;   gdzie: N-liczba podziałów pionowych walca

Z

X

Y

V

i+1

V

i+3

V

i+2

V

i

r

h

background image



przesunięcia

glTranslate*(x,y,z)



skalowanie

glScale*(sx,sy,sz)



obrót wokół zadanej osi

glRotate*(α,x,y,z)

background image

Rodzaje rzutów w OpenGL:



rzut perspektywiczny 

glFrustum*(l,r,b,t,n,f)



rzut ortogonalny (równoległy)

glOrtho*(l,r,b,t,n,f)

Funkcje generują macierz przekształcenia 

P

Etapy rzutowania:



przekształcenie współrzędnych obserwatora do współrzędnych

background image

dokumentów  drukowanych  bądź wyświetlanych.  Tekst  i  obrazy  s
traktowane  jako  obiekty  i  podlegają takim  samym  przekształceniom 
jak  wektory.  Plik PostScript zawiera  nagłówek  definiujący,  który  jest 
wykorzystywany do automatycznego rozplanowania strony. 

Proces tworzenia dokumentu drukowanego przebiega dwustopniowo:

A.

generacja opisu niezależnego od urządzenia przez program użytkowy

B.

interpretacja opisu przez program sterujący urządzeniem rastrowym

Podstawowe typy obiektów graficznych:



tekst: różne fonty, wielkości czcionki, orientacja, położenie na stronie



grafika: prymitywy - odcinki, łuki, krzywe Beziera

background image

PCX (

Zsoft Corporation

)



opracowany dla obrazów generowanych przez program 
Paintbrush



128-bajtowy nagłówek definiujący specyfikację obrazu



sposób  kodowania



liczba bitów na pixel



rozmiary obrazu



rodzaj palety barw



liczba warstw



sposób interpretacji palety barw

dane  obrazowe  1-bajtowe  zakodowane  metodą ciągu 

background image

RLE (

Uniwersytet w Utah

)



przeznaczony  do  pamiętania  wielowarstwowych 
obrazów rastrowych (do 255 warstw)



dowolne rozmiary obrazów



8 bitów na składowe R, G, B i A



dane obrazowe w postaci skompresowanej

background image

TIFF (

Tag Image Format File

- Aldus Corporation)



opracowany do opisu i przesyłania obrazów rastrowych



dowolne rozmiary obrazów



obrazy czarno-białe, monochromatyczne z pełną gradacją szarości, 
kolorowe z paletą barw lub pełną barwą



różne modele koloru (RGB, CMYK, YCrCb)



możliwość wykorzystania różnych metod kompresji 



obrazy  mogą pochodzić z  różnych  urządzeń (skanery,  kamery, 
urządzenia  akwizycji  obrazów)  oraz  z  różnych  programów  do 
malowania i retuszowania
możliwość dodawania specjalnych informacji

background image



standardowa metoda kompresji zdigitalizowanych fotografii



kodowanie kolorów: True Color RGB 2

24

=16,7 mln barw



kompresja stratna, próbkowane są bloki 8x8 pikseli: dokładnie 
zapamiętywana jest uśredniona wartość barwy, informacje o 
zmianach jasności lub koloru pikseli zapamiętywane są mniej 
dokładnie niż obszary jednolite. Im większy stopień kompresji, tym 
więcej pikseli w bloku będzie miało zbliżoną barwę. Transformacyjna 
metoda kompresji DCT (

Digital Cosinus Transform

) połączona z 

kodowaniem różnicowym



najpopularniejszy format kodowania obrazów o pełnej skali szarości
i kolorowych dla potrzeb sieci Internet, programów prezentacyjnych 
i multimedialnych, wymagających plików o niewielkich rozmiarach



im większy stopień kompresji tym mniejszy plik i tym większa strata 

background image



format plików służący do prezentacji, przenoszenia i drukowania treści 

tekstowo-graficznych;



opracowany i promowany przez firmę 

Adobe Systems

;



językiem opisu pliku PDF jest okrojona wersja języka programowania 

PostScript

;



czytnik formatu (

Acrobat Reader

) jest udostępniany za darmo przez firmę

Adobe na wiele platform sprzętowo-programowych;



istnieje szereg programów płatnych i darmowych mogących wyświetlać, 

tworzyć i modyfikować pliki w tym formacie – np. 

Ghostscript



wiele programów dysponuje funkcją eksportu swoich dokumentów do formatu 

PDF - w tym większość pakietów biurowych oraz praktycznie wszystkie 

współczesne programy DTP;



istnieje możliwość szyfrowania dokumentów PDF i specyfikowania ograniczeń 

czynności, które nie mogą być dokonywane przez użytkownika; 



sterowniki PDF - programy działające jak wirtualna drukarka;

background image

GIF (

Graphics Interchange Format

- CompuServe)



opracowany  dla  potrzeb  transmisji  obrazów  rastrowych 
w standardzie VGA z co najwyżej 8 bitami na pixel

DXF (

Drawing Exchange File

- AutoDesk)



opracowany  dla  potrzeb  opisu  rysunków  tworzonych  w 
programie AutoCAD 

OpenFlight (FLT) (MultiGen Inc.)

format graficznej reprezentacji obiektów 3D

background image

 MultGen

MultGen

II Pro (SGI)

II Pro (SGI)





MultiGen Creator

MultiGen Creator

(NT)

(NT)

Charakterystyka:

Charakterystyka:





program do tworzenia i edycji 

program do tworzenia i edycji 

graficznych baz danych w standardzie 

graficznych baz danych w standardzie 

OpenFlight

OpenFlight





posiada zintegrowane narzędzia 

posiada zintegrowane narzędzia 

wspomagające modelowanie 

wspomagające modelowanie 

ukształtowania i pokrycia terenu

ukształtowania i pokrycia terenu





umożliwia zautomatyzowane 

umożliwia zautomatyzowane 

modelowanie przyrządów pokładowych

modelowanie przyrządów pokładowych

background image

Korzeń

Korzeń

Korzeń

Grupa 1

Grupa 1

Grupa 1

Grupa 2

Grupa 2

Grupa 2

Grupa 3

Grupa 3

Grupa 3

Obiekt 1

Obiekt 1

Obiekt 1

Obiekt 2

Obiekt 2

Obiekt 2

Obiekt 3

Obiekt 3

Obiekt 3

Grupa 4

Grupa 4

Grupa 4

Grupa 5

Grupa 5

Grupa 5

Grupa 6

Grupa 6

Grupa 6

background image

DCS (

DCS (

Dynamics Coordinate

Dynamics Coordinate

System

System

dynamiczny układ współrzędnych

dynamiczny układ współrzędnych

Czołg

M1-A1

Czołg

Czołg

M1

M1

-

-

A1

A1

Wieża

Wieża

Wieża

Działo

Działo

Działo

Działo

Działo

Działo

Kadłub 

wieży

Kadłub 

Kadłub 

wieży

wieży

-

-

grupa DCS

grupa DCS

Kadłub 

Kadłub 

Kadłub 

background image

LOD (

LOD (

Level of Detail

Level of Detail

poziom szczegółowości

poziom szczegółowości

L 1

L 1

L 1

L 2

L 2

L 2

L 3

L 3

L 3

d1

d1

d2

d2

d3

d3

d0

d0

SA-6

d0 - d1

SA

SA

-

-

6

6

d0 

d0 

-

-

d1

d1

SA-6

d1 - d2

SA

SA

-

-

6

6

d1 

d1 

-

-

d2

d2

SA-6

d2 - d3

SA

SA

-

-

6

6

d2 

d2 

-

-

d3

d3

-

-

grupa LOD

grupa LOD

SA-6

0 – d0

SA

SA

-

-

6

6

d0

d0

SA-6

SA

SA

-

-

6

6

background image

Obiekt

Obiekt

Obiekt

sprawny

Obiekt

sprawny

Obiekt

uszkodzony

Obiekt

uszkodzony

Obiekt

zniszczony

Obiekt

zniszczony

background image

Eksplozja

Eksplozja

Eksplozja

Klatka 1

Klatka 

Klatka 

1

1

Klatka 2

Klatka 

Klatka 

2

2

Klatka n

Klatka 

Klatka 

n

n

.......

.......