Wizualizacja 3D. dr inż. Marcin Gabryel

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wizualizacja 3D. dr inż. Marcin Gabryel"

Transkrypt

1 Wizualizacja 3D dr inż. Marcin Gabryel

2 Modele braw CMYK (Cyan, Magenta, Yellow, black) RGB (Red, Green, Blue) HSV (Hue, Saturation, Value)

3 RGB Model polega na sumowaniu sygnałów w poszczególnych kanałach. Jasność zależy od sumy sygnałów składowych Stosowany powszechnie w monitorach i telewizorach

4 CMYK Model oparty o barwy dopełniające do podstawowych RGB C = W R M = W G Y = W B Barwy powstają poprzez odejmowanie kolorów od światła białego Model odpowiada zjawisku pochłaniania barw przez przedmioty. Światło odbite trafia do oczu i wywołuje wrażenie koloru Używany w drukarstwie Dodatkowy czarny kolor ma za zadanie usunięcie problemu koloru nałożonych na siebie wszystkich barw

5 HSV alternatywna reprezentacja przestrzeni RGB, która lepiej oddaje relacje właściwe ludzkiej percepcji barwy, zachowując prostotę obliczeniową H barwa (skala kątowa o ) S nasycenie V jasność koloru V = max { R, G, B } B = ( R + G + B ) / 3 L = ( max { R, G, B } + min { R, G, B } ) / 2 Y = 0.3 R G B Y luminancja, określa percepcję jasności koloru przez ludzkie oko

6 Grafika wektorowa i rastrowa Dowolne położenie Zajętość pamięci zależna od skomplikwoania obrazu Możliwość skalowania Odbiór rysunku niezależny od urządzenia Określone położenie zależne od rastra Obraz zapamiętany w postaci mapy Zajętość pamięci niezależna od skomplikowania obrazu Odbiór rysunku zależny od urządzenia

7 Standardy plików graficznych Obrazy rastrowe BMP, GIF, PCX, TIFF, TGA, JPG (JPEG), PNG Obrazy wektorowe WMF, EPS, PS, DXF, SVG

8 Grafika 3D Obiekty 3D stanowią pewien fragment przestrzeni ograniczonej powierzchniami o różnym stopniu komplikacji. Chociaż każda taka powierzchnia da się jednoznacznie zdefiniowaną przy pomocy równań matematycznych, to ich przetwarzanie pochłonęło by całą dostępną moc obliczeniową. Zagadnienie 3D można w ogromnym stopniu uprościć rozkładając każdą z takich powierzchni na odpowiednio dużą (zależną od stopnia dokładności) liczbę wielokątów płaskich. Najprostszym z wielokątów jest oczywiście trójkąt i ten jest na ogół używany do aproksymacji. Każdy wierzchołków trójkąta jest jednoznacznie zawieszony w przestrzeni 3D przy pomocy trzech współrzędnych (x, y, z). Cały obiekt 3D przechowywany jest w spójnym fragmencie pamięci a operacje na nim (przemieszczenie, obrót, skalowanie itp.) sprowadzają się do rachunku macierzowego. Algorytm przesunięcia takiej bryły da się zapisad w kilku linijkach kodu maszynowego.

9 Tworzenie wizualizacji 3D Programy graficzne 3D Studio Max, Lightwave 3D, Blender, Maya, POV-Ray Programistyczne, z wykorzystaniem akceleratorów 3D DirectX OpenGL

10 DirectX Zestaw API wspomagający generowanie grafiki 2D i 3D, przestrzennego dźwięku, obsługi urządzeń zewnętrzych, multimedia, strumieniowa transmisja danych. Biblioteki DLL i sterowniki VXD Producenci dla swojego sprzętu piszą odpowiednie biblioteki Wersja na Windows i Xbox (integralny element systemów)

11 DirectX cd. Dużo dodatków - biblioteka D3DX (posiada funkcje matematyczne, wczytywanie tekstur, obsługę wielu plików graficznych, rysujące tekst itp.) Obsługa Shader za pomocą języka HLSL Do programowania niezbędny jest DirectX SDK (ok. 570MB), aktualizowany co 2 miesiące Dokumentacja na stronie MSDN

12 Komponenty DirectX DirectDraw grafika 2D Direct3D grafika 3D DirectSound efekty dźwiękowe DirectMusic obsługa muzyki (obecnie XAudio 2) DirectInput urządzenia wejściowe DirectPlay funkcje sieciowe DirectShow, Direct Media Objects odtwarzanie plików audio i wideo DirectSetup instalacja komponentów DirectX

13 DirectX 9

14 DirectX 10

15 OpenGL OpenGL (Open Graphics Library) specyfikacja API do generowania grafiki. Umożliwia budowanie złożonych trójwymiarowych scen z podstawowych figur płaskich IRIS GL API (Silicon Graphics) 1992 OpenGL 2004 OpenGL OpenGL OpenGL 4.1 Jest to interfejs niskopoziomowy Rozszerzenia w postaci bibliotek GLU (GL Utility library) GLUT (GL Utility Toolkit) WGL (dla Windows) i GLX (dla Linuxa) SDL (Simple DirectMedia Library) podobny jak DirectX

16 Raytracing Raytracing (śledzenie promieni) technika renderowania fotorealistycznych scen 3D Stosowany przez profesjonalistów (3D Studio, LightWave) Wolny Daje bardzo dobre rezultaty

17 Raytracing - przykład

18 Raytracing - przykład

19 Algorytm raytraceingu Dla każdego piksela na obrazie powtórz następującą procedurę: 1. utwórz promień od oka obserwatora do piksela i przedłuż go poza obraz 2. określ pierwszy obiekt O, który leży na drodze promienia i punkt P przecięcia promienia z powierzchnią obiektu 3. jeśli nie ma takiego obiektu, zwróć jako kolor - ustalony kolor tła, 4. w przeciwnym razie z punktu P wyprowadź promienie w kierunku wszystkich źródeł światła, by określić czy P jest w cieniu czy też nie; na tej podstawie i informacji o barwie obiektu O określ zwracany kolor 5. jeśli obiekt O ma lustrzaną powierzchnię, z punktu P wyprowadź promień odbity i powtórz rekursywnie niniejszą procedurę począwszy od pkt. 2; określ tym samym kolor widoczny w punkcie P w zwierciadle 6. jeśli O jest przezroczysty, wyprowadź z P promień ugięty i powtórz rekursywnie niniejszą procedurę począwszy od pkt. 2; określ tym samym kolor prześwitujący w punkcie P 7. z danych zebranych w pkt. 3-6 określ sumaryczny kolor jaki należy zwrócić

20 Popularne rozdzielczości ekranu QVGA 320x200 (4:3) VGA 640x480 (4:3) SVGA 800x600 (4:3) XGA 1024x768 (4:3) WXGA 1280x800 (16:10) WXGA+ 1440x900 (16:10) SXGA+ 1400x1050 (4:3) WSXGA+ 1680x1050 (16:10) UXGA 1600x1200 (4:3) WUXGA 1920x1200 (16:10) QXGA 2048x1536 (4:3) HDTV 720p 1280x720 (16:9) HDTV 1366x768 (16:9) HDTV 1080p 1920x1080 (16:9) PAL 720x576 NTSC 640x482

21 Karty graficzne - możliwości Filtrowanie anizotropowe Mapowanie wypukłości Efekty cząstkowe Full scene anti-aliasing HDR Pixel Shader Vertex Shader Transform & Lighting Inne (mgła, przeźroczystość)

22 Karty graficzne 1 miejsce wg ranking Chip.pl Sapphire Radeon HD 5970 Toxic 4096MB GDDR5 Cena: 4500 PLN Chipset: Radeon HD 5970 Dwa rdzenie 256 bitowa szyna pamięci Taktowanie: 725Mhz i 4000Mhz (GPU i pamięć) Pobór mocy: od 40 do 294W

23 Karty graficzne ranking Chip.pl 1 miejsce Gigabyte Radeon HD MB GDDR5 Cena: 2900 PLN Chipset: Radeon HD 6990 Pamięć: 2 x 2048 MB 2 rdzenie Szerokość interfejsu pamięci: 2 x 256 bity Taktowanie: rdzeń Mhz, pamięć 5000 MHz Pobór mocy: W

24 Od obiektu 3D do wizualizacji na ekranie monitora Obliczanie współrzędnych Przesunięcia Obroty Skalowanie Usuwanie fragmentów niewidocznych dla obserwatora Z-bufor Figury wypukłe B-tree Ray tracing Obliczanie barw obiektów cieniowanie Nakładanie tekstur Efekty dodatkowe (odblaski, mgła)

25 Współrzędne, trójkąty

26 Operacje na obiekcie 3D Obiekt 3D Skalowanie Przesunięcie Obrót

27 Punkt 3D, układ współrzędnych

28 Przekształcenia 3D - przesunięcie Przesunięcie o wektor

29 Przekształcenia 3D - przesunięcie

30 Przekształcenia 3D przesunięcie Przesunięcie o wektor

31 Przekształcenia 3D obrót wokół osi OX Obrót wokół osi OX o kąt

32 Przekształcenia 3D obrót wokół osi OY Obrót wokół osi OY o kąt

33 Przekształcenia 3D skalowanie

34 Bufor Z (bufor głębokości) Przechowywana jest współrzędna Z (odległość od obserwatora) Jeżeli współrzędna Z danego piksela jest mniejsza od współrzędnej Z zapisanej w buforze, można postawić pixel

35 Cieniowanie płaskie

36 Cieniowanie Gorauda

37 Cieniowanie Phonga

38 Cieniowanie Phonga

39 Teksturowanie Przedstawienie szczegółów obiektów przestrzennych za pomocą obrazów bitmapowych Mapowanie tekstury sposób na powiązanie pikseli tekstury (tekseli) z powierzchną obiektu Rodzaje mapowania Dla siatki wielokątów: UV mapping Dla figury przestrzennej Płaskie Sferyczne Cylindryczne Sześcienne

40 Teksturowanie, tekstura Nakładanie tekstury korekcja perspektywy

41 Sposoby teksturowania Przyporządkowanie najbliższego punktu Mipmapping Filtrowanie dwuliniowe (bilinearne) Filtrowanie trilinearne Filtrowanie anizotropowe

42 Mipmapping Technika teksturowania bitmapami Poprawia jakość teksturowania i przyspiesza ten proces Tekstury są różnej wielkości Im dalej, tym wykorzystane są mniejsze mipmapy, np. 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, 4x4, 2x2, 1x1

43 Mipmapping - przykład

44 Filtrowanie dwuliniowe (biliniowe) Technika mająca za zadanie poprawę jakości wyświetlanych tekstur Polega na obliczaniu wartości (interpolacji) pomiędzy punktami na teksturze

45 Filtrowanie dwuliniowe przykład

46 Filtrowanie trójliniowe Technika poprawy jakości tekstur, która polega na zamazywaniu granic pomiędzy mipmapami Rozszerzenie dwuliniowego

47 Filtrowanie trójliniowe - przykład

48 Filtrowanie anizotropowe Technika poprawy jakości tekstur Stosowana dla obiektów będących pod dużym kątem Oprócz uwzględniania odległości od obserwatora, uwzględniany jest również kierunek do kamery W praktyce oznacza to stosowanie tekstur o różnych wymiarach. Jeżeli tekstura ma wymiary 128x128, to mipmapy mogą mieć wymiary 128x64 lub 64x128 w zależności od kąta patrzenia.

49 Filtrowanie anizotropowe - przykład

50 Filtrowanie anizotropowe - przykład

51 Porówanie technik nakładania tekstur

52 Multiteksturowanie Nakładanie kilku tekstur na jeden obiekt. Akceleratory posiadają wiele jednostek teksturujących, co przyspiesza tę czynność

53 Multiteksturowanie - przykład Dodawanie Odejmowanie, mnożenie, modulację itd

54 Mapowanie wypukłości (bump mapping) Technika symulująca niewielkie wypukłości powierzchni, bez integracji w geometrię obiektu trójwymiarowego Polega na nakładaniu tekstury która powoduje załamanie wektora normalnego Rezultatem zakłóceń jest pojawienie się złudzenia nierówności powierzchni Brzegi pozostają niezakłócone

55 Antyaliasing Techniki służące zmniejszeniu błędów, które powstają przy reprezentacji obrazu lub sygnału o wysokiej rozdzielczości w rozdzielczości mniejszej.

56 Antyaliasing - przykład

57 Vertex Shader Krótki program (podobny do assemblera), którym można modyfikować każdy wierzchołek. Dzięki temu można stosować efekty, które wcześniej wymagały stosowania wielu wielokątów

58 Pixel Shader Krótki program pisany dla poszczególnych pikseli ekranu, który pozwala na osiągniecie niesamowitych efektów w czasie rzeczywistym, m.in. oświetlenie Phonga, czy dokładne bump mapping.

59 Światła wolumetryczne Światło rzucane przez dziurę w ścianie lub rozgrzany przedmiot

60 Radiosity Metoda obliczania oświtlenia, uwzględniająca światło odbijanie się od ścian

61 Radiosity i ray tracing

62 Radiosity i ray tracing

63

64 Open GL System typu klient-serwer API (Application Programming Interface) do obsługi grafiki 3D Biblioteką procedur niskopoziomowych Maszyną stanu Nie śledzi promieni (raytracing) Biblioteki dodatkowe: GLU (GL Utility Library, GLUT (GL Utility Toolbox), GLAUX, GLX, WGL, SDL,

65 Typy proste GLboolean 1 Typ logiczny GLbyte 8 Liczba całkowita ze znakiem GLubyte 8 Liczba całkowita bez znaku GLchar 8 Znak tekstowy GLshort 16 Liczba całkowita ze znakiem GLushort 16 Liczba całkowita bez znaku GLint 32 Liczba całkowita ze znakiem GLuint 32 Liczba całkowita bez znaku GLsizei 32 Nieujemna liczba całkowita GLenum 32 Typ wyliczeniowy o wartościach całkowitych GLintptr * Wskaźnik na liczbę całkowitą ze znakiem GLsizeiptr * Wskaźnik na liczbę całkowitą nieujemną GLbitfield 32 Pole bitowe GLfloat 32 Liczba zmiennoprzecinkowa GLclammpf 32 Liczba zmiennoprzecinkowa z przedziału [0,1] GLdouble 64 Liczba zmiennoprzecinkowa GLclampd 64 Liczba zmiennoprzecinkowa z przedziału [0,1]

66 Polecenia OpenGL rtype Name{ }{b s i f d ub us ui}{v}([args,]t arg1,..., T argn [,args]) rtype zwracany typ Name nazwa funkcji, poprzedzona przedrostkiem gl lub glu (dla funkcji GLU) liczba argumentów funkcji b typ GLbyte s typ GLshort i typ GLint f typ GLfloat d typ GLdouble ub typ GLubyte us typ GLushort ui typ GLuint v argumentem jest tablica wartości (w tym przypadku nie występuje określenie liczby parametrów) T arg1, T arg2 argumenty funkcji

67 Polecenia - przykład void glcolor3ub (GLubyte red, GLubyte green, GLubyte blue) void glcolor3ui (GLuint red, GLuint green, GLuint blue) void glcolor3ubv(const GLubyte *v) void glcolor3uiv(const GLuint *v) void glcolor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) void glcolor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha) void glcolor4ubv(const GLubyte *v) void glcolor4uiv(const GLuint *v)

68 Układ współrzędnych W OpenGL jest prawoskrętny układ współrzędnych z osią Z skierowaną prostopadle w stronę monitora

69 OpenGL - barwy W opengl występują barwy zapisane w modelu RGB. Dodatkowo podawany jest tzw. kanał Alfa (RGBA)

70 Błędy GLenum glgeterror(void) Kody błędów: GL_NO_ERROR brak błędu GL_INVALID_ENUM błędna wartośd typu wyliczeniowego GL_INVALID_VALUE błędna wartośd argumentu GL_INVALID_OPERATION operacja niemożliwa do wykonania GL_STACK_OVERFLOW przepełnienie stosu GL_STACK_UNDERFLOW niedomiar stosu GL_OUT_OF_MEMORY brak pamięci GL_TABLE_TOO_LARGE zbyt duża tablica

71 Bufor ramki (pamięci obrazu) W skład bufora ramki wchodzą: Bufor koloru Bufor głębokości Bufor szablonowy (bufor szablonu) Bufor akumulacyjny

72 Pierwszy program instrukcje tworzenia okna void glutinitdisplaymode(unsigned int mode) inizjalizacja bufora ramki Parametry: GLUT_DOUBLE dwa bufory koloru GLUT_RGB praca w trybie RGB void glutinitwindowsize(int width,int height) parametry width i height oznaczają odpowiednio szerokość i wysokość obszaru dostępnego do renderingu void glutinitwindowposition(int posx, int posy) Położenie okna void glutcreatewindow(char * name) Utworzenie okna

73 Funkcje obsługujące proces rysowania void glutdisplayfunc(void (*func)(void) ) Funkcja dołączająca funkcję do przerysowania okna void glutreshapefunc(void (*func)(int width, int height) ) Dołączenie funkcji wywoływanej przy zmianie rozmiaru okna

74 Rysowanie sceny 3D void glclearcolor(glclampf red, GLclampf green, GLclampf blue, GLclampf alpha) Kolor, którym wypełniony zostanie bufor koloru. Przyjmuje argumenty od [0;1]. (0,0,0,0) to kolor czarny, (1,1,1,0) to kolor biały. void glclear(glbitfield mask) Czyszczenie koloru tła, czyli czyszczenie obrazu. Jako parametr przekazujemy GL_COLOR_BUFFER_BIT oznaczający jaki element bufora ramki ma być wyczyszczony. void glcolor3f(glfloat red,glfloat green,glfloat blue) Funkcja do określenia koloru obiektu. Podaje się wartości koloru R G B w zakresie [0;1]

75 Definiowanie obiektu void glbegin(glenum mode) Rozpoczyna definiowanie obiektów. Podajemy jako argument rodzaj definiowanego obiektu (np. trójkąt to GL_TRIANGLES) void glvertex3f(glfloat x, GLfloat y, GLfloat z) Definicja pojedynczego wierzchołka obiektu (podajemy współrzędne x, y, z. Jeżeli rysujemy obiekt przy z=0, wówczas możemy zastosować funkcję void glvertex2f(glfloat x, GLfloat y) void glend(void) Definicję obiektu kończy to polecenie.

76 Wykonanie poleceń OpenGL void glflush(void) Wymuszenie wykonania wszystkich poleceń void glutswapbuffers(void) Zmiana buforów koloru (pokazanie narysowanego obrazu)

77 Pierwszy program- cpp #include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h> int main(int argc, char** argv) { glutinit(&argc, argv); glutinitdisplaymode( GLUT_DOUBLE GLUT_RGBA ); glutinitwindowsize(400, 400); glutinitwindowposition( 100, 100) ; glutcreatewindow("opengl"); glutdisplayfunc( drawscene ); glutreshapefunc( reshapescreen ); glutmainloop(); }

78 Pierwszy program cpp (2) void drawscene() { glclearcolor( 0.0, 0.0, 0.0, 0.0); glclear(gl_color_buffer_bit); glcolor3f( 1.0, 1.0, 1.0 ); glbegin( GL_TRIANGLES ); glvertex3f(-1, -1, -0.5); glvertex3f(-1, 1, -0.5); glvertex3f(1, 1, -0.5); glend(); glflush(); glutswapbuffers(); glutpostredisplay(); } void reshapescreen(int w, int h) { drawscene(); }

79 Obszar renderingu void glviewport(glint x, GLint y, GLsizei width, GLsizei height) W aplikacjach pracujących w systemach okienkowych problem zmiany rozmiaru okna jest tak powszechny, że wymaga specjalnego potraktowania. Jednym z możliwych sposobów jego rozwiązania jest dynamiczna modyfikacja obszaru renderingu. Służy to tego właśnie ta funkcja. x, y współrzędne lewego dolnego narożnika obszaru renderingu względem lewego dolnego narożnika okna height wysokość okna renderingu width szerokość okna renderingu

80 Zastosowanie glviewport void reshapescreen(int w, int h) { if ( w < h ) { glviewport(0, (h-w)/2, w, w); } else { glviewport((w-h)/2, 0, h, h); } } drawscene();

81 Rzutowanie prostokątne void glortho(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far) Rozmiar bryły odcinania w rzutowaniu prostokątnym Parametry określają współrzędne punktów przecięcia płaszczyzn tworzących bryłę odcinania z osiami układu współrzędnych kartezjańskich

82 Rzutowanie prostokątne Domyślnie bryła ma postać sześcianu o bokach = 2 glortho(-1,1,-1,1,-1,1)

83 Macierze w OpenGL void glmatrixmode(glenum mode) OpenGL posaida kilka macierzy Parametr może przyjąć jedną z następujących wartości GL_MODELVIEW macierz modelowania, GL_PROJECTION macierz rzutowania, GL _TEXTURE macierz tekstury. void glloadidentity(void) Przpisanie macierzy jednostkowej

84 Obiekty w OpenGL

85 void glpointsize(glfloat size) void gllinewidth(glfloat width)

Janusz Ganczarski. OpenGL Pierwszy program

Janusz Ganczarski. OpenGL Pierwszy program Janusz Ganczarski OpenGL Pierwszy program Spis treści Spis treści..................................... 1 1. Pierwszy program.............................. 1 1.1. Rysowanie sceny 3D...........................

Bardziej szczegółowo

Architektura Komputerów

Architektura Komputerów Studia Podyplomowe INFORMATYKA Techniki Architektura Komputerów multimedialne Wykład nr. 9 dr Artur Bartoszewski Rendering a Ray Tracing Ray tracing (dosłownie śledzenie promieni) to technika renderowania

Bardziej szczegółowo

Wprowadzenie do programowania z wykorzystaniem biblioteki OpenGL. Dorota Smorawa

Wprowadzenie do programowania z wykorzystaniem biblioteki OpenGL. Dorota Smorawa Wprowadzenie do programowania z wykorzystaniem biblioteki OpenGL Dorota Smorawa Pierwszy program Pierwszy program będzie składał się z trzech etapów: Funkcji rysującej scenę 3D, Inicjacji okna renderingu,

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Co to jest OpenGL? Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5. OpenGL - Achitektura. OpenGL - zalety. olas@icis.pcz.

Co to jest OpenGL? Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5. OpenGL - Achitektura. OpenGL - zalety. olas@icis.pcz. Co to jest OpenGL? Oprogramowanie i wykorzystanie stacji roboczych Wykład 5 Dr inż. Tomasz Olas olas@icis.pcz.pl OpenGL (Open Graphics Library) jest niskopoziomowa biblioteka graficzna (API - programowy

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:

Bardziej szczegółowo

Temat: Wprowadzenie do OpenGL i GLUT

Temat: Wprowadzenie do OpenGL i GLUT Instrukcja laboratoryjna 8 Grafika komputerowa 3D Temat: Wprowadzenie do OpenGL i GLUT Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny OpenGL

Bardziej szczegółowo

Specyfikacja OpenGL Podstawy programowania grafiki komputerowej*

Specyfikacja OpenGL Podstawy programowania grafiki komputerowej* Specyfikacja OpenGL Podstawy programowania grafiki komputerowej* Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5 Wykład 5 p. 1/? Oprogramowanie i wykorzystanie stacji roboczych Wykład 5 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Wykład 5 p. 2/? Co

Bardziej szczegółowo

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23 Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)

Bardziej szczegółowo

Architektura systemów komputerowych Ćwiczenie 3

Architektura systemów komputerowych Ćwiczenie 3 Architektura systemów komputerowych Ćwiczenie 3 Komputer widziany oczami użytkownika Karta graficzna DirectX technologie łączenia kart 1 dr Artur Bartoszewski - Architektura systemów komputerowych - ćwiczenia

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie http://galaxy.agh.edu.pl/~mhojny Prowadzący: dr inż. Hojny Marcin Akademia Górniczo-Hutnicza Mickiewicza 30 30-059 Krakow pawilon B5/p.406 tel. (+48)12 617 46

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL Grafika komputerowa i wizualizacja, Bioinformatyka S1, II Rok OpenGL Open Graphics Library Jest to API pozwalające na renderowanie grafiki w czasie rzeczywistym,

Bardziej szczegółowo

Karty graficzne możemy podzielić na:

Karty graficzne możemy podzielić na: KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do 0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi

Bardziej szczegółowo

Temat: Transformacje 3D

Temat: Transformacje 3D Instrukcja laboratoryjna 11 Grafika komputerowa 3D Temat: Transformacje 3D Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Bardzo często programując

Bardziej szczegółowo

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Synteza i obróbka obrazu Tekstury Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Tekstura Tekstura (texture) obraz rastrowy (mapa bitowa, bitmap) nakładany na

Bardziej szczegółowo

Prosty program- cpp. #include <GL/glut.h>

Prosty program- cpp. #include <GL/glut.h> Wizualizacje 3D Prosty program- cpp #include #include #include int main(int argc, char** argv) { glutinit(&argc, argv); glutinitdisplaymode( GLUT_DOUBLE GLUT_RGBA ); glutinitwindowsize(400,

Bardziej szczegółowo

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Czym są tekstury? Tekstury są tablicowymi strukturami danych o wymiarze od 1 do 3, których elementami są tzw. teksele.

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/5 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Rysowanie prymitywów 3 Przygotował: mgr inż. Maciej Lasota 1) Rysowanie prymitywów Podstawową rodziną funkcji wykorzystywanych

Bardziej szczegółowo

Architektura Komputerów

Architektura Komputerów Architektura systemów Architektura Komputerów komputerowych Wykład nr. 9 dr Artur Bartoszewski Grafika 3D Grafika 3D Obiekty 3D stanowią pewien fragment przestrzeni ograniczonej powierzchniami o różnym

Bardziej szczegółowo

Janusz Ganczarski. OpenGL Definiowanie sceny 3D

Janusz Ganczarski. OpenGL Definiowanie sceny 3D Janusz Ganczarski OpenGL Definiowanie sceny 3D Spis treści Spis treści..................................... 1 1. Definiowanie sceny 3D........................... 1 1.1. Obszar renderingu............................

Bardziej szczegółowo

1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych

1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych Instrukcja laboratoryjna 9 Grafika komputerowa 3D Temat: Manipulowanie przestrzenią Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Układ

Bardziej szczegółowo

1 LEKCJA. Definicja grafiki. Główne działy grafiki komputerowej. Programy graficzne: Grafika rastrowa. Grafika wektorowa. Grafika trójwymiarowa

1 LEKCJA. Definicja grafiki. Główne działy grafiki komputerowej. Programy graficzne: Grafika rastrowa. Grafika wektorowa. Grafika trójwymiarowa 1 LEKCJA Definicja grafiki Dział informatyki zajmujący się wykorzystaniem komputerów do generowania i przetwarzania obrazów (statycznych i dynamicznych) oraz wizualizacją danych. Główne działy grafiki

Bardziej szczegółowo

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest KARTA GRAFICZNA Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

Grafika 3D program POV-Ray - 1 -

Grafika 3D program POV-Ray - 1 - Temat 1: Ogólne informacje o programie POV-Ray. Interfejs programu. Ustawienie kamery i świateł. Podstawowe obiekty 3D, ich położenie, kolory i tekstura oraz przezroczystość. Skrót POV-Ray to rozwinięcie

Bardziej szczegółowo

glwindowpos2d void DrawString (GLint x, GLint y, char *string) { glwindowpos2i (x,y); int len = strlen (string); for (int i = 0; i < len; i++)

glwindowpos2d void DrawString (GLint x, GLint y, char *string) { glwindowpos2i (x,y); int len = strlen (string); for (int i = 0; i < len; i++) Wizualizacja 3D glwindowpos2d Funkcja wprowadzona w wersji 1.4 biblioteki OpenGL Funkcja pozwala na ustawienie rastra względem okna, a nie względem macierzy modelu Stosowana podczas pisania tekstów, np.:

Bardziej szczegółowo

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38 Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego

Bardziej szczegółowo

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30 Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego

Bardziej szczegółowo

Teksturowanie (ang. texture mapping)

Teksturowanie (ang. texture mapping) Teksturowanie (ang. texture mapping) Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny Tekstura Funkcja modyfikująca wygląd powierzchni. Ta funkcja może być reprezentowana

Bardziej szczegółowo

1. Czym jest rendering? a. Komputerowa analiza modelu danej sceny i utworzenie na jej podstawie obrazu 2D. b. Funkcja umożliwiająca kopiowanie obrazu

1. Czym jest rendering? a. Komputerowa analiza modelu danej sceny i utworzenie na jej podstawie obrazu 2D. b. Funkcja umożliwiająca kopiowanie obrazu 1. Czym jest rendering? a. Komputerowa analiza modelu danej sceny i utworzenie na jej podstawie obrazu 2D. b. Funkcja umożliwiająca kopiowanie obrazu pomiędzy warstwami. c. Sposób tworzenia modeli 2D d.

Bardziej szczegółowo

Wykład V. Karta graficzna. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

Wykład V. Karta graficzna. Studia stacjonarne Pedagogika Budowa i zasada działania komputera Studia stacjonarne Pedagogika Budowa i zasada działania komputera Wykład V Karta graficzna 1 dr Artur Bartoszewski - WYKŁAD: Budowa i zasada działania komputera, Grafika 3D Grafika 3D Grafika 3D Obiekty

Bardziej szczegółowo

Filtrowanie tekstur. Kinga Laurowska

Filtrowanie tekstur. Kinga Laurowska Filtrowanie tekstur Kinga Laurowska Wprowadzenie Filtrowanie tekstur (inaczej wygładzanie) technika polegająca na 'rozmywaniu' sąsiadujących ze sobą tekseli (pikseli tekstury). Istnieje wiele metod filtrowania,

Bardziej szczegółowo

Bufor koloru cd. Czyszczenie bufora koloru glclearcolor( )

Bufor koloru cd. Czyszczenie bufora koloru glclearcolor( ) Wizualizacje 3D Bufor koloru Bufor koloru służy do przechowywania obrazu renderowanej sceny 3D. Typowo OpenGL stosuje dwa bufory koloru: przedni i tylny. Bieżąca scena znajduje się w przednim buforze i

Bardziej szczegółowo

Rzutowanie DOROTA SMORAWA

Rzutowanie DOROTA SMORAWA Rzutowanie DOROTA SMORAWA Rzutowanie Rzutowanie jest operacja polegająca na tym, aby odpowiednie piksele na płaskim ekranie były wyświetlane w taki sposób, by sprawiać wrażenie trójwymiarowej głębi (przestrzeni

Bardziej szczegółowo

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie

Bardziej szczegółowo

Grafika na stronie www

Grafika na stronie www Grafika na stronie www Grafika wektorowa (obiektowa) To grafika której obraz jest tworzony z obiektów podstawowych najczęściej lini, figur geomtrycznych obrazy są całkowicie skalowalne Popularne programy

Bardziej szczegółowo

Architektura Komputerów

Architektura Komputerów Architektura systemów Architektura Komputerów komputerowych Wykład nr. 9 dr Artur Bartoszewski Karty graficzne - nazwy trybów rozdzielczości Skrót Pełna nazwa Rozdzielczość VGA VGA 640x480 SVGA Super VGA

Bardziej szczegółowo

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory GRAFIKA Rodzaje grafiki i odpowiadające im edytory Obraz graficzny w komputerze Może być: utworzony automatycznie przez wybrany program (np. jako wykres w arkuszu kalkulacyjnym) lub urządzenie (np. zdjęcie

Bardziej szczegółowo

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C. Ustawienia materiałów i tekstur w programie KD Max. 1. Dwa tryby własności materiału Materiał możemy ustawić w dwóch trybach: czysty kolor tekstura 2 2. Podstawowe parametry materiału 2.1 Większość właściwości

Bardziej szczegółowo

Grafika komputerowa. Dla DSI II

Grafika komputerowa. Dla DSI II Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji

Bardziej szczegółowo

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu GRAKO: ŚWIATŁO I CIENIE Metody oświetlania Metody cieniowania Przykłady OŚWIETLENIE: elementy istotne w projektowaniu Rozumienie fizyki światła w realnym świecie Rozumienie procesu percepcji światła Opracowanie

Bardziej szczegółowo

OpenGL i Qt. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

OpenGL i Qt. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska w Qt i Qt Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2019 Bogdan Kreczmer Niniejszy dokument zawiera materiały

Bardziej szczegółowo

Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje!

Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje! Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje! Jak sprawnie tworzyć podstawowe obiekty, oświetlać je i cieniować? Jak napisać własne programy, korzystając

Bardziej szczegółowo

Oświetlenie obiektów 3D

Oświetlenie obiektów 3D Synteza i obróbka obrazu Oświetlenie obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Rasteryzacja Spłaszczony po rzutowaniu obraz siatek wielokątowych

Bardziej szczegółowo

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Powierzchnia obiektu 3D jest renderowana jako czarna jeżeli nie jest oświetlana żadnym światłem (wyjątkiem są obiekty samoświecące) Oświetlenie

Bardziej szczegółowo

Projektowanie aplikacji graficznych. dr inż. Jarosław Zubrzycki

Projektowanie aplikacji graficznych. dr inż. Jarosław Zubrzycki Projektowanie aplikacji graficznych dr inż. Jarosław Zubrzycki DirectX DirectX to zestaw funkcji API wspomagających generowanie grafiki (dwu- i trójwymiarowej), dźwięku oraz innych zadań związanych zwykle

Bardziej szczegółowo

OpenGL i wprowadzenie do programowania gier

OpenGL i wprowadzenie do programowania gier OpenGL i wprowadzenie do programowania gier Wojciech Sterna Bartosz Chodorowski OpenGL i wprowadzenie do programowania gier Autorstwo rozdziałów: 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 Wojciech Sterna

Bardziej szczegółowo

GRK 4. dr Wojciech Palubicki

GRK 4. dr Wojciech Palubicki GRK 4 dr Wojciech Palubicki Uproszczony Potok Graficzny (Rendering) Model Matrix View Matrix Projection Matrix Viewport Transform Object Space World Space View Space Clip Space Screen Space Projection

Bardziej szczegółowo

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ Przygotowała mgr Joanna Guździoł e-mail: jguzdziol@wszop.edu.pl WYŻSZA SZKOŁA ZARZĄDZANIA OCHRONĄ PRACY W KATOWICACH 1. Pojęcie grafiki komputerowej Grafika komputerowa

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu Synteza i obróbka obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej

Bardziej szczegółowo

OpenGL Światło (cieniowanie)

OpenGL Światło (cieniowanie) OpenGL Światło (cieniowanie) 1. Oświetlenie włączanie/wyłączanie glenable(gl_lighting); - włączenie mechanizmu oświetlenia gldisable(gl_lighting); - wyłączenie mechanizmu oświetlenia glenable(gl_light0);

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Opóźnione cieniowanie wprowadzenie Koszt obliczeniowy cieniowania Cieniowanie jedno- i wieloprzebiegowe Cieniowanie opóźnione Schemat opóźnionego

Bardziej szczegółowo

Grafika trójwymiarowa

Grafika trójwymiarowa Strona 1 Grafika 3D w systemie Android Wprowadzenie do OpenGL ES Podstawy rysowania Rzutowanie i kamera Klasa GLSurfaceView Algorytm rysowania Tekstury Strona 2 Grafika 3D w systemie Android W komputerach,

Bardziej szczegółowo

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Chcąc osiągnąć realizm renderowanego obrazu, należy rozwiązać problem świetlenia. Barwy, faktury i inne właściwości przedmiotów postrzegamy

Bardziej szczegółowo

Modele i przestrzenie koloru

Modele i przestrzenie koloru Modele i przestrzenie koloru Pantone - międzynarodowy standard identyfikacji kolorów do celów przemysłowych (w tym poligraficznych) opracowany i aktualizowany przez amerykańską firmę Pantone Inc. System

Bardziej szczegółowo

Podłączanie bibliotek Zapis danych do pliku graficznego Generowanie promienia pierwotnego Import sceny z pliku Algorytm ray tracingu

Podłączanie bibliotek Zapis danych do pliku graficznego Generowanie promienia pierwotnego Import sceny z pliku Algorytm ray tracingu Ray Tracer cz.1 Michał Chwesiuk Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 4 Kwiecień 2017 Michał Chwesiuk Ray Tracer cz.1 4 Kwiecień 2017 1/21 Plan zajęć laboratoryjnych

Bardziej szczegółowo

1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych

1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych 1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych (2,0), (5,6) narysowany przy wykorzystaniu algorytmu Bresenhama

Bardziej szczegółowo

6 Przygotował: mgr inż. Maciej Lasota

6 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 6 1/7 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Materiały i oświetlenie 6 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie Specyfikacja biblioteki OpenGL rozróżnia trzy

Bardziej szczegółowo

WSTĘP DO GRAFIKI KOMPUTEROWEJ

WSTĘP DO GRAFIKI KOMPUTEROWEJ WSTĘP DO GRAFIKI KOMPUTEROWEJ Miłosz Michalski Institute of Physics Nicolaus Copernicus University Październik 2015 1 / 15 Plan wykładu Światło, kolor, zmysł wzroku. Obraz: fotgrafia, grafika cyfrowa,

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU GRAFICZNE MODELOWANIE

Bardziej szczegółowo

Podstawy grafiki komputerowej

Podstawy grafiki komputerowej Podstawy grafiki komputerowej Krzysztof Gracki K.Gracki@ii.pw.edu.pl tel. (22) 6605031 Instytut Informatyki Politechniki Warszawskiej 2 Sprawy organizacyjne Krzysztof Gracki k.gracki@ii.pw.edu.pl tel.

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza dźwięku i obrazu

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza dźwięku i obrazu Synteza dźwięku i obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej

Bardziej szczegółowo

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import Fraction.h #import <stdio.h> #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Przyspieszanie sprzętowe

Przyspieszanie sprzętowe Synteza dźwięku i obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złoŝonych obliczeń, szczególnie jeŝeli chodzi o generowanie płynnej

Bardziej szczegółowo

OpenGL Światło (cieniowanie)

OpenGL Światło (cieniowanie) OpenGL Światło (cieniowanie) 1. Oświetlenie włączanie/wyłączanie glenable(gl_lighting); - włączenie mechanizmu oświetlenia gldisable(gl_lighting); - wyłączenie mechanizmu oświetlenia glenable(gl_light0);

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego.

GRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego. GRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego. http://bazyluk.net/zpsb Grafika Komputerowa, Informatyka, I Rok PROGRAMOWANIE GRAFIKI KOMPUTEROWEJ CZASU RZECZYWISTEGO Grafika

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Rendering Na przygotowane w fazie operacji geometrycznych złożone z trójkątów szkieletowe bryły akcelerator

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Obiekty półprzeźroczyste wprowadzenie Test alfa, odrzucanie Mieszanie alfa Obiekty naklejane, ang. decals Konwersja próbki punktowe obraz

Bardziej szczegółowo

Przykładowe pytania na teście teoretycznym

Przykładowe pytania na teście teoretycznym Przykładowe pytania na teście teoretycznym Przedmiot: Informatyka I Rok akademicki: 2014/2015 Semestr : zimowy Studia: I / Z W grafice wektorowej obraz reprezentowany jest: przez piksele przez obiekty

Bardziej szczegółowo

Efekty dodatkowe w rasteryzacji

Efekty dodatkowe w rasteryzacji Synteza i obróbka obrazu Efekty dodatkowe w rasteryzacji Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Efekty dodatkowe Cieniowanie i teksturowanie pozwala

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu GRAFIKA KOMPUTEROWA 1. Układ przedmiotu semestr VI - 20000 semestr VII - 00200 Dr inż. Jacek Jarnicki Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl

Bardziej szczegółowo

Julia 4D - raytracing

Julia 4D - raytracing i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja

Bardziej szczegółowo

OpenGL teksturowanie

OpenGL teksturowanie OpenGL teksturowanie Teksturowanie polega na pokrywaniu wielokątów obrazami (plikami graficznymi) Umożliwia znaczące zwiększenie realizmu sceny przy niewielkim zwiększeniu nakładu obliczeniowego Rozwój

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

Rysowanie punktów na powierzchni graficznej Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.

Bardziej szczegółowo

Architektura Komputerów

Architektura Komputerów Architektura systemów Architektura Komputerów komputerowych Wykład nr. 9 dr Artur Bartoszewski Grafika 3D Grafika 3D Obiekty 3D istnieją w matematycznie opisanej wirtualnej przestrzeni za ekranem. Ekran

Bardziej szczegółowo

Światło. W OpenGL można rozróżnić 3 rodzaje światła

Światło. W OpenGL można rozróżnić 3 rodzaje światła Wizualizacja 3D Światło W OpenGL można rozróżnić 3 rodzaje światła Światło otaczające (ambient light) równomiernie oświetla wszystkie elementy sceny, nie pochodzi z żadnego konkretnego kierunku Światło

Bardziej szczegółowo

Grafika Komputerowa. Wykład 8. Przygotowanie do egzaminu. mgr inż. Michał Chwesiuk 1/32

Grafika Komputerowa. Wykład 8. Przygotowanie do egzaminu. mgr inż. Michał Chwesiuk 1/32 Grafika Komputerowa Wykład 8 Przygotowanie do egzaminu mgr inż. 1/32 Obraz Grafika Rastrowa Grafika Wektorowa Obraz przechowywany w pamięci w postaci próbki opisane za pomocą macierzy pikseli Każdy piksel

Bardziej szczegółowo

Grafika komputerowa Tekstury

Grafika komputerowa Tekstury . Tekstury Tekstury są dwuwymiarowymi obrazkami nakładanymi na obiekty lub ich części, w celu poprawienia realizmu rysowanych brył oraz dodatkowego określenia cech ich powierzchni np. przez nałożenie obrazka

Bardziej szczegółowo

dr inż. Piotr Odya dr inż. Piotr Suchomski

dr inż. Piotr Odya dr inż. Piotr Suchomski dr inż. Piotr Odya dr inż. Piotr Suchomski Podział grafiki wektorowa; matematyczny opis rysunku; małe wymagania pamięciowe (i obliczeniowe); rasteryzacja konwersja do postaci rastrowej; rastrowa; tablica

Bardziej szczegółowo

Transformacje. dr Radosław Matusik. radmat

Transformacje. dr Radosław Matusik.   radmat www.math.uni.lodz.pl/ radmat Cel wykładu Celem wykładu jest prezentacja m.in. przestrzeni modelu, świata, kamery oraz projekcji, a także omówienie sposobów oświetlania i cieniowania obiektów. Pierwsze

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia

Bardziej szczegółowo

Grafika 3D na przykładzie XNA 3.1

Grafika 3D na przykładzie XNA 3.1 Jacek Matulewski, Tomasz Dziubak Grafika 3D na przykładzie XNA 3.1 ITA-106 Wersja 1.02 (XNA 3.1, PS 2.0) Toruo, listopad 2010 2010 Jacek Matulewski, Tomasz Dziubak. Autor udziela prawa do bezpłatnego kopiowania

Bardziej szczegółowo

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak Modelowanie i wstęp do druku 3D Wykład 1 Robert Banasiak Od modelu 3D do wydruku 3D Typowa droga...czasem wyboista... Pomysł!! Modeler 3D Przygotowanie modelu do druku Konfiguracja Programu do drukowania

Bardziej szczegółowo

1. Prymitywy graficzne

1. Prymitywy graficzne 1. Prymitywy graficzne Prymitywy graficzne są elementarnymi obiektami jakie potrafi bezpośrednio rysować, określony system graficzny (DirectX, OpenGL itp.) są to: punkty, listy linii, serie linii, listy

Bardziej szczegółowo

Laboratorium 1. Część I. Podstawy biblioteki graficznej OpenGL.

Laboratorium 1. Część I. Podstawy biblioteki graficznej OpenGL. Laboratorium 1 Część I Podstawy biblioteki graficznej OpenGL. I. Konfiguracja środowiska 1. Ściągamy bibliotekę freeglut i rozpakujemy do głównego folderu dysku systemowego np. C:\freeglut 2. Uruchamiamy

Bardziej szczegółowo

KILKA SŁÓW O GRAFICE KOMPUTEROWEJ

KILKA SŁÓW O GRAFICE KOMPUTEROWEJ KILKA SŁÓW O GRAFICE KOMPUTEROWEJ Paweł Kędzierski Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie Streszczenie Każdy pasjonat poświęca wiele uwagi zachodzącym zmianom, ale nie każdy zdaje

Bardziej szczegółowo

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Model oświetlenia Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Obliczenie koloru powierzchni (ang. Lighting) Światło biegnie od źródła światła, odbija

Bardziej szczegółowo

Zaawansowana Grafika Komputerowa

Zaawansowana Grafika Komputerowa Zaawansowana Komputerowa Michał Chwesiuk Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 28 Luty 2017 Michał Chwesiuk Zaawansowana Komputerowa 28 Luty 2017 1/11 O mnie inż.

Bardziej szczegółowo

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty. Przyszedł czas na rysowanie własnych figur, czyli prymitywy, obracanie bitmap, oraz alpha blending-czyli półprzezroczystość. Będę opisywał tylko rzeczy nowe-nie ma potrzeby abym się powtarzał. Zaczynajmny

Bardziej szczegółowo

Zadanie 1. Ściana. 1. Potrzebne zmienne w dołączonym do zadania kodzie źródłowym

Zadanie 1. Ściana. 1. Potrzebne zmienne w dołączonym do zadania kodzie źródłowym Zadanie 1. Ściana Zadanie W pliku walls.cpp znajduje się funkcja void draw_back_wall(). Należy uzupełnić ją, ustawiając odpowiednio parametry teksturowania tak, aby na ścianę, która w pierwotnej wersji

Bardziej szczegółowo

Wstęp... 19 1. Podstawy... 23. 2. Pierwszy program... 29. 3. Definiowanie sceny 3D... 35. 4. Przekształcenia geometryczne... 47

Wstęp... 19 1. Podstawy... 23. 2. Pierwszy program... 29. 3. Definiowanie sceny 3D... 35. 4. Przekształcenia geometryczne... 47 Spis treści 3 Wstęp... 19 1. Podstawy... 23 1.1. Składnia...24 1.2. Typy danych...25 1.3. Układ współrzędnych...25 1.4. Barwy...26 1.5. Bufor ramki...26 1.6. Okno renderingu...26 1.7. Maszyna stanów...27

Bardziej szczegółowo

OpenGL oświetlenie i tekstury. OpenGL oświetlenie. Bogdan Kreczmer.

OpenGL oświetlenie i tekstury. OpenGL oświetlenie. Bogdan Kreczmer. OpenGL oświetlenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Cieniowanie Bardzo ważnym elementem sceny jest oświetlenie. To właśnie odpowiednie dobranie oświetlenia sprawia,

Bardziej szczegółowo

Photoshop. Podstawy budowy obrazu komputerowego

Photoshop. Podstawy budowy obrazu komputerowego Photoshop Podstawy budowy obrazu komputerowego Wykład 1 Autor: Elżbieta Fedko O czym dzisiaj będziemy mówić? Co to jest grafika komputerowa? Budowa obrazu w grafice wektorowej i rastrowej. Zastosowanie

Bardziej szczegółowo

Grafika komputerowa i wizualizacja

Grafika komputerowa i wizualizacja Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet

Bardziej szczegółowo

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22 Wykład 1 Wstęp do grafiki komputerowej rastrowy i wektorowy mgr inż. 1/22 O mnie mgr inż. michalchwesiuk@gmail.com http://mchwesiuk.pl Materiały, wykłady, informacje Doktorant na Wydziale Informatyki Uniwersytetu

Bardziej szczegółowo

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.:

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.: Temat 2: Przezroczystość. Prostopadłościan, walec i stożek. Przesuwanie i skalowanie obiektów. Omówimy teraz przezroczystość obiektów związaną z ich kolorem (lub teksturą). Za przezroczystość odpowiadają

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Cieniowanie Bardzo ważnym elementem sceny jest oświetlenie. To właśnie odpowiednie dobranie oświetlenia sprawia,

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Grafika komputerowa Rok akademicki: 2015/2016 Kod: ITE-1-514-s Punkty ECTS: 5 Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Teleinformatyka Specjalność: - Poziom studiów:

Bardziej szczegółowo