Teksturowanie. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 10. Tekstury. Proces nakładania tekstury.

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

Download "Teksturowanie. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 10. Tekstury. Proces nakładania tekstury."

Transkrypt

1 Teksturowanie Oprogramowanie i wykorzystanie stacji roboczych Wykład 10 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Teksturowanie jest to nakładanie bitmapy na obiekt, włacznie z korekta perspektywy. OpenGL już od wersji 1.0 zawiera pełny zestaw funkcji realizujacych nakładanie, filtrowanie i przekształcanie tekstur. Rodzaje tekstur: jednowymiarowe (1D), dwuwymiarowe (2D), trójwymiarowe (wolumeryczne), sześcienne (kubiczne). Tekstury 1/32 Proces nakładania tekstury Wykład 10 p Tekstura jest zbiorem pixeli (texeli), w przypadku 2D jest tablica dwuwymiarowa. W OpenGL szerokość wysokość i głębia tekstury musza być potęgami dwójki. Poszczególne piksele tekstury nazywa się texelami. 1. Utworzenie obiektu tekstury. 2. Określenie w jaki sposób tekstura ma być odwzorowana na poszczególne punkty. 3. Właczenie mapowania tekstur. 4. Renderowanie sceny uwzględniajace zarówno współrzędne obiektów, jak również odwzorowanie tekstury. 3/32 Wykład 10 p

2 Utworzenie obiektu tekstury Definiowanie tekstur 2D (I) Utworzenie obiektu tekstury 2D polega na: Wygenerowaniu lub wczytaniu tablicy reprezentujacej poszczególne texele tworzonej tekstury. Zdefiniowaniu tekstury w OpenGL poprzez wywołanie funkcji glteximage2d z parametrami charakteryzujacymi tworzona teksturę. W OpenGL do definiowania dwuwymiarowych tekstur służy funkcja glteximage2d: void glteximage2d(glenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); target - GL_TEXTURE_2D. level - poziom szczegółów mipmapy. Jeśli nie sa używane mipmapy zwykle wynosi zero. internalformat - ilość komponentów koloru, od 1 do 4. width - szerokość obrazu tekstury - musi być potęga liczby 2 lub być zgodna ze wzorem 2 n + 2 border. height - wysokość obrazu tekstury - musi być potęga liczby 2 lub być zgodna ze wzorem 2 m + 2 border. border - szerokość ramki dookoła obrazu tekstury (0 lub 1). lub 2. Definiowanie tekstur 2D (II) 5/32 Definiowanie tekstur 2D - Qt (I) Wykład 10 p void glteximage2d(glenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); format - format danych pikseli ( GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_ALPHA_LUMINANCE). type - typ danych dla wartości pikseli. pixels - dane pikseli. Statyczna metoda klasy QGLWidget converttoglformat przekształca obiekt klasy QImage do postaci wymaganej przez funkcje glteximage2d z biblioteki Qt. QImage QGLWidget::convertToGLFormat (const QImage & img) [static] Zwracana mapa bitowa nie może być używana jako standardowy obiekt klasy QImage, ale moga być wykorzystywane metody width, height i bits Powyższa metoda dokonuje jedynie konwersji poszczególnych pikseli, nie jest dokonywana zmiana rozmiaru bitmapy - musi ona mieć odpowiednie rozmiary przed dokonaniem konwersji. 7/32 Wykład 10 p

3 Definiowanie tekstur 2D - Qt (II) Paramety obrazu tekstury (I) QImage tex1, buf; if (!buf.load("sky.bmp")) qdebug("cannot open image file"); else tex1 = QGLWidget::convertToGLFormat(buf); glteximage2d(gl_texture_2d, 0, GL_RGBA, tex1.width(), tex1.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, tex1.bits()); gltexparameter[if](glenum target, GLenum pname, GLfloat param); gltexparameter[if]v(glenum target, GLenum pname, GLfloat *param); target - musi to być GL_TEXTURE_1D lub GL_TEXTURE_2D. pname - określa parametr tekstury, który jest ustawiany: GL_TEXTURE_MIN_FILTER - określa metodę lub filtr stosowany przy zmniejszaniu tekstury. Wartościa param może być: GL_NEAREST - filtrowanie najbliższy sasiad - pobierany jest najbliższy pixel obrazu tekstury, GL_LINEAR - liniowa interpolacja - przed narysowaniem czegokolwiek na ekranie wartości kolorów obrazu tekstury powinny zostać liniowo zinterpolowane, GL_NEAREST_MIPMAP_NEAREST - filtr mipmapy najbliższy sasiad, GL_NEAREST_MIPMAP_LINEAR - liniowo interpolowana mipmapa, GL_LINEAR_MIPMAP_NEAREST - liniowo interpolacja mipmap, GL_LINEAR_MIPMAP_LINEAR - liniowa interpolacja interpolowanych mipmap. Parametry obrazu tekstury (II) 9/32 Parametry obrazu tekstury (III) gltexparameter[if](glenum target, GLenum pname, GLfloat param); gltexparameter[if]v(glenum target, GLenum pname, GLfloat *param); pname cd: GL_TEXTURE_MAG_FILTER - określa metodę lub filtr stosowany przy powiększaniu tekstury. Wartościa param może być: GL_NEAREST - filtrowanie najbliższy sasiad, GL_LINEAR - liniowa interpolacja, GL_TEXTURE_WRAP_S - określa sposób traktowania współrzędnych S tekstury poza zakresem od 0.0 do 1.0. GL_TEXTURE_WRAP_T - określa sposób traktowania współrzędnych T tekstury poza zakresem od 0.0 do 1.0. GL_CLAMP GL_REPEAT GL_BORDER_COLOR - określa kolor ramki to tekstur bez ramki. filtr GL_NEAREST filtr GL_LINEAR 11/32

4 Parametry obrazu tekstury (IV) Parametry teksturowania Funkcja gltexenv ustawia parametry mapowania tekstury, sterujace sposobem nakładania obrazów tekstur na wielokaty: gltexenv{fi}(glenum target, GLenum pname, TYPE param); gltexenv{fi}v(glenum target, GLenum pname, TYPE *param); target - definiowane środowisko teksturowania - musi nim być GL_TEXTURE_ENV. pname - nazwa definiowanego parametru: GL_TEXTURE_ENV_MODE - określa tryb teksturowania. Parametr param może przyjmować wartości: GL_DECAL - obraz tekstury jest bezpośrednio nakładany na wielokat, GL_VERB - przed nałożeniem na wielokat, obraz tekstury jest mieszany z określonym kolorem (GL_TEXTURE_ENV_COLOR). GL_MODULATE - przed nałożeniem na wielokat, obraz tekstury jest mnożony przez istniejacy obraz w buforze ramki. GL_TEXTURE_ENV_COLOR - określa kolor do połaczenia z tekstura. W tym przypadku parametr param jest wskaźnikiem do wartości koloru RGBA. Współrzędne tekstury 13/32 Określanie współrzędnych tekstury Do określania współrzędnych tekstury dla wielokata, na który nakładamy teksture przeznaczona jest rodzina funkcji gltexcoord: gltexcoord1{dfis}(type s); gltexcoord1{dfis}v(type *s); gltexcoord2{dfis}(type s, TYPE t); gltexcoord2{dfis}v(type st); gltexcoord3{dfis}(type s, TYPE t, TYPE r); gltexcoord3{dfis}v(type *str); gltexcoord4{dfis}(type s, TYPE t, TYPE r, TYPE q); gltexcoord4{dfis}v(type strq); s - pozioma współrzędna obrazu tekstury, t - pionowa współrzędna obrazu tekstury, r - współrzędna głębokości obrazu tekstury, q - współrzędna czasu obrazu tekstury. 15/32

5 łaczenie i wyłaczenie mapowania tekstur Tekstury 2D - przykład (I) Właczenie mapowania tekstur 2D: glenable(gl_texture_2d); Wyłaczenie mapowania tekstur 2D: gldisable(gl_texture_2d); Analogicznie można właczać i wyłaczać mapowanie tekstur jednowymiarowych (GL_TEXTURE_1D) i trójwymiarowych (GL_TEXTURE_3D) const GLuint Texture = 1; QImage tex1, buf; if (!buf.load( "sky.bmp" ) ) qdebug("cannot open image file"); else tex1 = QGLWidget::convertToGLFormat( buf ); glnewlist(texture, GL_COMPILE); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glteximage2d(gl_texture_2d, 0, 3, tex1.width(), tex1.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, tex1.bits()); glendlist(); gltexenvi(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_DECAL); Definiowanie tekstur 2D (III) 17/32 Definiowanie tekstur 2D (IV) glenable(gl_texture_2d); glcalllist(texture); glbegin(gl_quads); gltexcoord2f(1.0f, 0.0f); glvertex3f(-1.0f, -1.0f, 0.0f); gltexcoord2f(0.0f, 0.0f); glvertex3f(-1.0f, 1.0f, 0.0f); gltexcoord2f(0.0f, 1.0f); glvertex3f(1.0f, 1.0f, 0.0f); gltexcoord2f(1.0f, 1.0f); glvertex3f(1.0f, -1.0f, 0.0f); glend(); 19/32

6 Mipmapy (I) Mipmapy (II) Mipmapy umożliwiaja dobór obrazu tekstury w zależności od odległości od obserwatora. Tekstura taka zawiera w sobie wiele obrazów. Wybierany jest obraz tekstury najbliższy rozmiarowi wielokata na ekranie. Wielkość obrazów w mipmapie nie jest dowolna. Każdy następny stanowi 1/4 (1/2 1/2) rozmiaru poprzedniego obrazka. mipmapa o rozmiarze 128x128 będzie zawierała obrazki o rozmiarach 128x128, 64x64, 32x32, 16x16, 8x8, 4x4, 2x2 i 1x1, natomiast mipmapa o rozmiarze 64x16-64x16, 32x8, 16x4, 8x2, 4x1, 2x1, 1x1. Stosowanie mipmap poprawia wyglad renderowanej sceny oraz zazwyczaj przyspiesza proces renderowania. 21/32 Mipmapy - przykład Paramety obrazu - mipmapy QImage buf; buf.load("sky0.bmp"); QImage sky0 = QGLWidget::convertToGLFormat(buf); buf.load("sky1.bmp"); QImage sky1 = QGLWidget::convertToGLFormat(buf); buf.load("sky2.bmp"); QImage sky2 = QGLWidget::convertToGLFormat(buf); glnewlist(1, GL_COMPILE); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glteximage2d(gl_texture_2d, 0, 3, 4, 4, 0, GL_RGB, GL_UNSIGNED_BYTE, sky0.bits()); glteximage2d(gl_texture_2d, 1, 3, 2, 2, 0, GL_RGB, GL_UNSIGNED_BYTE, sky1.bits()); glteximage2d(gl_texture_2d, 2, 3, 1, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, sky2.bits()); glendlist(); gltexparameter[if](glenum target, GLenum pname, GLfloat param); gltexparameter[if]v(glenum target, GLenum pname, GLfloat *param); dla: GL_TEXTURE_MIN_FILTER: GL_NEAREST_MIPMAP_NEAREST - wybiera mipmapę, której teksele maja rozmiar najbardziej zbliżony do pokrywanego piksela i używa filtra GL_NEAREST do wyznaczenia barwy piksela. GL_LINEAR_MIPMAP_NEAREST - podobnie jak wyżej, ale z użyciem kryterium GL_LINEAR. GL_NEAREST_MIPMAP_LINEAR - wybiera dwie mipmapy, których teksele maja rozmiar najbardziej zbliżony do pokrywanego piksela, następnie posługuje się filtrem GL_NEAREST do wyznaczenia teksela z każdej mipmapy. Ostateczna wartość elementu tekstury jest średnia ważona dwóch poprzednich tekseli. GL_LINEAR_MIPMAP_LINEAR - tak jak wyżej, lecz z zastosowaniem opcji GL_LINEAR. Ten filtr jest też zwany trójliniowym (Trilinear Filtering). 23/32

7 Mipmapy - filtrowanie Definiowanie tekstur 1D (I) W OpenGL do definiowania jednowymiarowych tekstur służy funkcja glteximage1d: void glteximage1d(glenum target, GLint level, GLint components, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); target - musi być GL_TEXTURE_1D. level - poziom szczegółów mipmapy. Jeśli nie sa używane mipmapy zwykle wynosi zero. component - ilość komponentów koloru, od 1 do 4. width - szerokość obrazu tekstury - musi być potęga liczby 2 lub być zgodna ze wzorem 2 n + 2 border. border - szerokość ramki dookoła obrazu tekstury. Musi być 0, 1 lub 2. 25/32 Definiowanie tekstur 1D (II) Mapowanie tekstur 1D - przykład (I) void glteximage1d(glenum target, GLint level, GLint components, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); format - format danych pikseli: GL_COLOR_INDEX - wartości wszystkich pikseli sa indeksami kolorów, GL_RED - wartości pikseli sa intensywnościami czerwieni, GL_GREEN - wartości pikseli sa intensywnościami zieleni, GL_BLUE - wartości pikseli sa intensywnościami niebieskiego, GL_ALPHA - wartości pikseli sa wartościami alfa, GL_RGB - wartości pikseli sa wartościami RGB, GL_RGBA - wartości pikseli sa wartościami RGBA, GL_LUMINANCE - wartości pikseli sa kolorami w skali szarości, GL_ALPHA_LUMINANCE - wartości pikseli sa wartościami alfa i kolorami w skali szarości. type - typ danych dla wartości pikseli. pixels - dane pikseli. const GLuint RainbowTexture = 1; static unsigned char tecza[8][3] = { {0x3f, 0x00, 0x3f}, {0x7f, 0x00, 0x7f}, {0xbf, 0x00, 0xbf}, {0x00, 0x00, 0xff}, {0x00, 0xff, 0x00}, {0xff, 0xff, 0x00}, {0xff, 0x7f, 0x00}, {0xff, 0x00, 0x00} }; glnewlist(rainbowtexture, GL_COMPILE); gltexparameteri(gl_texture_1d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameteri(gl_texture_1d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glteximage1d(gl_texture_1d, 0, 3, 8, 0, GL_RGB, GL_UNSIGNED_BYTE, tecza); glendlist(); gltexenvi(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_DECAL); 27/32

8 Mapowanie tekstur 1D - przykład (II) Mapowanie tekstur 1D - przykład (III) glenable(gl_texture_1d); glcalllist(rainbowtexture); glbegin(gl_quad_strip); for (double th = 0.0; th <= M_PI; th += ( * M_PI)) { // dolna krawędź tęczy x = cos(th) * 50.0; y = sin(th) * 50.0; z = -50.0; gltexcoord1f(0.0); glvertex3f(x, y, z); // górna krawędź tęczy x = cos(th) * 55.0; y = sin(th) * 55.0; z = -50.0; gltexcoord1f(1.0); glvertex3f(x, y, z); } glend(); Biblioteka GLU 29/32 Mipmapy - automatyczne generowanie Biblioteka GLU dodaje do biblioteki OpenGL dodatkowe funkcje wyższego poziomu. W skład biblioteki OpenGL wchodza między innymi: transformacje ze współrzędnych obiektu na współrzędne obserwatora i odwrotnie, wsparcie dla powierzchni NURBS, funkcje do podziału wielokatów na trójkaty, skalowanie rysunków 2D oraz tworzenie mipmap, dodatkowe funkcje wspierajace rzutowanie perspektywiczne i równoległe, zmiana pozycji kamery, wybór obiektów, funkcje do renderowania dysków, cylindrów oraz sfer, W bibliotece GLU istnieja funkcje do automatycznego generowania mipmap na podstawie pojedynczej tekstury. W przypadku jednowymiarowym jest to funkcja glubuild1dmipmap natomiast dla 2D funkcja realizujac a ta operacje jest funkcja glubuild2dmipmap. 31/32

Tekstury. Dorota Smorawa

Tekstury. Dorota Smorawa Tekstury Dorota Smorawa Definiowanie obiektów tekstur Dodawanie tekstur należy rozpocząć od zdefiniowania nazw tekstur ładowanych do bufora. Dla ułatwienia pracy z teksturami możemy przygotować obiekty

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

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

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

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie VI. Biblioteka OpenGL - teksturowanie

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie VI. Biblioteka OpenGL - teksturowanie Laboratorium Grafiki Komputerowej i Animacji Ćwiczenie VI Biblioteka OpenGL - teksturowanie Sławomir Samolej Rzeszów, 1999 1. Wstęp Podczas tworzenia skomplikowanych obiektów graficznych przydatnym mechanizmem

Bardziej szczegółowo

OpenGL - tekstury Mapowanie tekstur

OpenGL - tekstury Mapowanie tekstur OpenGL - tekstury Mapowanie tekstur Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki Stosowanej

Bardziej szczegółowo

Laboratorium 4 OpenGl (4) Oświetlenie sceny

Laboratorium 4 OpenGl (4) Oświetlenie sceny Laboratorium 4 OpenGl (4) Oświetlenie sceny Przy generacji obrazu obiektu do obliczeń oświetlenia mechanizm renderujący OpenGL wykorzystuje model oświetlenia Phonga. Model ten służy do obliczania oświetlenia

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

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie VI. Biblioteka OpenGL - teksturowanie

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie VI. Biblioteka OpenGL - teksturowanie Laboratorium Grafiki Komputerowej i Animacji Ćwiczenie VI Biblioteka OpenGL - teksturowanie Sławomir Samolej Rzeszów, 2013 2 1. Wstęp Podczas tworzenia skomplikowanych obiektów graficznych przydatnym mechanizmem

Bardziej szczegółowo

Laboratorium 2. Część I. Perspektywa. Obsługa poleceń myszy. 2. W sekcji przeznaczonej na definicję zmiennych globalnych dodaj następujące definicje:

Laboratorium 2. Część I. Perspektywa. Obsługa poleceń myszy. 2. W sekcji przeznaczonej na definicję zmiennych globalnych dodaj następujące definicje: Laboratorium 2 Część I Perspektywa. Obsługa poleceń myszy 1. Skompiluj i uruchom załączony program (konieczne jest dodanie lglu32 do poleceń konsolidatora) - na podstawie poprzedniego programu oraz analizy

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

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

Oświetlenie w OpenGL. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 8. Światło otaczajace. Światło rozproszone.

Oświetlenie w OpenGL. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 8. Światło otaczajace. Światło rozproszone. Oświetlenie w OpenGL Oprogramowanie i wykorzystanie stacji roboczych Wykład 8 Dr inż. Tomasz Olas olas@icis.pcz.pl W OpenGL źródło światła w scenie składa się z trzech składowych oświetlenia: otoczenia,

Bardziej szczegółowo

8 Przygotował: mgr inż. Maciej Lasota

8 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 8 1/6 Grafika Komputerowa Instrukcja laboratoryjna Temat: Listy wyświetlania i tablice wierzchołków 8 Przygotował: mgr inż. Maciej Lasota 1) Listy wyświetlania Listy wyświetlania (ang.

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

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

Bartosz Bazyluk Teksturowanie Pojęcie tekstury, potok, zastosowania. Gry komputerowe, Informatyka N1, III Rok

Bartosz Bazyluk Teksturowanie Pojęcie tekstury, potok, zastosowania.   Gry komputerowe, Informatyka N1, III Rok Teksturowanie Pojęcie tekstury, potok, zastosowania. http://bazyluk.net/dydaktyka Gry komputerowe, Informatyka N1, III Rok RENDEROWANIE DETALI Problem: W jaki sposób korzystając z dotychczas omówionych

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

Bartosz Bazyluk Teksturowanie Mapy bitowe, pojęcie tekstury, potok, zastosowania.

Bartosz Bazyluk Teksturowanie Mapy bitowe, pojęcie tekstury, potok, zastosowania. Teksturowanie Mapy bitowe, pojęcie tekstury, potok, zastosowania. http://bazyluk.net/dydaktyka Grafika Komputerowa i Wizualizacja, Informatyka S1, II Rok SPOSOBY REPREZENTACJI OBRAZU Grafika rastrowa Obraz

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

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

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

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 6

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

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

OpenGL. Silicon Graphics (IRIS GL stacje graficzne)

OpenGL. Silicon Graphics (IRIS GL stacje graficzne) OpenGL. Silicon Graphics (IRIS GL stacje graficzne) Biblioteka -przestrzeń 3D -rzutowanie -prymitywy graficzne -operacje na barwach HISTORIA 1992 - powstaje wersja 1.0 specyfikacji OpenGL przenośnej między

Bardziej szczegółowo

OpenGL Zaawansowana grafika komputerowa

OpenGL Zaawansowana grafika komputerowa p. 1/63 OpenGL Zaawansowana grafika komputerowa p. 2/63 Czym jest OpenGL OpenGL można zdefiniować jako "programowy interfejs sprzętu graficznego". Jest to biblioteka przeznaczona do tworzenia trójwymiarowej

Bardziej szczegółowo

Mapowanie tekstur Mip-mapy (level of detail) Filtrowanie Multiteksturowanie

Mapowanie tekstur Mip-mapy (level of detail) Filtrowanie Multiteksturowanie Mapowanie tekstur Mip-mapy (level of detail) Filtrowanie Multiteksturowanie Korekcja perspektywy http://en.wikipedia.org/wiki/file:perspective_correct_texture_mapping.jpg GL_TEXTURE_MIN_FILTER Zmniejszanie

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

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

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

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using

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

Programowanie Procesorów Graficznych

Programowanie Procesorów Graficznych Programowanie Procesorów Graficznych Wykład 1 9.10.2012 Prehistoria Zadaniem karty graficznej było sterowanie sygnałem do monitora tak aby wyświetlić obraz zgodnie z zawartościa pamięci. Programiści pracowali

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

dr inż. Jacek Dąbrowski, KSG

dr inż. Jacek Dąbrowski, KSG dr inż. Jacek Dąbrowski, KSG jacek.dabrowski@eti.pg.gda.pl Technologie PHIGS, Iris GL OpenGL, DirectX, OpenGL OpenGL OpenGL ES WebGL OpenCL OGL 1.0: 1992 DirectX:1995, GLIDE: 1996 OGL 1.1-1.5: 1997-2002

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

OpenGL przezroczystość

OpenGL przezroczystość OpenGL przezroczystość W standardzie OpenGL efekty przezroczystości uzyskuje się poprzez zezwolenie na łączenie kolorów: Kolor piksela tworzy się na podstawie kolorów obiektu przesłanianego i przesłaniającego

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 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 Postprocessing wprowadzenie Rendering do tekstury Obliczenia w GLSL Odczyt transformacji (transform feedback) Pełnoekranowy czworokąt Rozmywanie

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

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

Światła i rodzaje świateł. Dorota Smorawa

Światła i rodzaje świateł. Dorota Smorawa Światła i rodzaje świateł Dorota Smorawa Rodzaje świateł Biblioteka OpenGL posiada trzy podstawowe rodzaje świateł: światło otoczenia, światło rozproszone oraz światło odbite. Dodając oświetlenie na scenie

Bardziej szczegółowo

Wprowadzenie. Artur Staszczyk Bartłomiej Filipek

Wprowadzenie. Artur Staszczyk  Bartłomiej Filipek Wprowadzenie Artur Staszczyk www.astaszczyk.com Bartłomiej Filipek www.bartlomiejfilipek.pl Bartlomiej.filipek@gmail.com Podstawy grafiki 3D GPU Co to jest OpenGL Potok Graficzny Inicjalizacja Rendering

Bardziej szczegółowo

Grafika komputerowa. Dr inż. Michał Kruk

Grafika komputerowa. Dr inż. Michał Kruk Grafika komputerowa Dr inż. Michał Kruk Teksturowanie Pokrywanie powierzchni brył wzorami. Dla realizacji takich zadań w grafice najczęściej korzysta się z koncepcji teksturowania powierzchni. Ogólnie

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

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

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

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

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

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych Parametryzacja obrazu na potrzeby algorytmów decyzyjnych Piotr Dalka Wprowadzenie Z reguły nie stosuje się podawania na wejście algorytmów decyzyjnych bezpośrednio wartości pikseli obrazu Obraz jest przekształcany

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 RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Mapowanie nierówności wprowadzenie Poziomy szczegółowości Cieniowanie w układzie stycznym Generacja wektorów normalnych i stycznych Mapy

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Zaawansowane teksturowanie wprowadzenie Próbkowanie i rekonstrukcja sygnału Granica Nyquista Filtry do rekonstrukcji Antyaliasing tekstur

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4 Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład

Bardziej szczegółowo

ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5

ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5 ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL CAD 2D. Sylabus opisuje zakres wiedzy i umiejętności, jakie musi opanować

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

Materiały. Dorota Smorawa

Materiały. Dorota Smorawa Materiały Dorota Smorawa Materiały Materiały, podobnie jak światła, opisywane są za pomocą trzech składowych. Opisują zdolności refleksyjno-emisyjne danej powierzchni. Do tworzenia materiału służy funkcja:

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

Zatem standardowe rysowanie prymitywów wygląda następująco:

Zatem standardowe rysowanie prymitywów wygląda następująco: Instrukcja laboratoryjna 10 Grafika komputerowa 3D Temat: Prymitywy Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Prymitywy proste figury geometryczne,

Bardziej szczegółowo

Grafika 3D OpenGL część II

Grafika 3D OpenGL część II #include #include #include float kat=0.0f; void renderujscene(void) { glclearcolor(1.0f,1.0f,1.0f,1.0f); glclear(gl_color_buffer_bit); glpushmatrix(); glrotatef(kat,0,0,1);

Bardziej szczegółowo

1 Temat: Wprowadzenie do biblioteki OpenCV

1 Temat: Wprowadzenie do biblioteki OpenCV Instrukcja Zaawansowane przetwarzanie obrazów 1 Temat: Wprowadzenie do biblioteki OpenCV Przygotował: mgr inż. Tomasz Michno 1 Wstęp 1.1 OpenCV - krótki wstęp OpenCV (Open Source Computer Vision) jest

Bardziej szczegółowo

Podstawy Informatyki Wykład V

Podstawy Informatyki Wykład V Nie wytaczaj armaty by zabić komara Podstawy Informatyki Wykład V Grafika rastrowa Paint Copyright by Arkadiusz Rzucidło 1 Wprowadzenie - grafika rastrowa Grafika komputerowa tworzenie i przetwarzanie

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

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

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

Grafika Komputerowa Wybrane definicje. Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow.

Grafika Komputerowa Wybrane definicje. Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow. Grafika Komputerowa Wybrane definicje Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow.pl Spis pojęć Grafika komputerowa Grafika wektorowa Grafika rastrowa

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

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

Przewodnik po soczewkach

Przewodnik po soczewkach Przewodnik po soczewkach 1. Wchodzimy w program Corel Draw 11 następnie klikamy Plik /Nowy => Nowy Rysunek. Następnie wchodzi w Okno/Okno dokowane /Teczka podręczna/ Przeglądaj/i wybieramy plik w którym

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

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

The Graphics View Framework. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5. he Graphics View Framework - architektura

The Graphics View Framework. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5. he Graphics View Framework - architektura The Graphics View Framework Oprogramowanie i wykorzystanie stacji roboczych Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska The Graphics View

Bardziej szczegółowo

Unity 3D - tworzenie sceny

Unity 3D - tworzenie sceny www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest: zapoznanie z menu Unity; stworzenie sceny gry; stworzenie perspektywy trzeciej osoby. Tworzenie nowego projektu 3D w Unity Na zajęciach

Bardziej szczegółowo

GRK 5. dr Wojciech Palubicki

GRK 5. dr Wojciech Palubicki GRK 5 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

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

Bartłomiej Filipek www.ii.uj.edu.pl/~filipek

Bartłomiej Filipek www.ii.uj.edu.pl/~filipek Bartłomiej Filipek www.ii.uj.edu.pl/~filipek Nasz Cel Prehistoria krótki wstęp Nowa era! Vertex Shaders Fragment Shaders Podstawy GLSL Obsługa GLSL z API OpenGL Dodajmy parę efektów! Podsumowanie Dodatkowe

Bardziej szczegółowo

Obraz jako funkcja Przekształcenia geometryczne

Obraz jako funkcja Przekształcenia geometryczne Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych

Bardziej szczegółowo

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Autodesk 3D Studio MAX Teksturowanie modeli 3D Autodesk 3D Studio MAX Teksturowanie modeli 3D dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 25 kwietnia 2017 1 / 20 Plan Wykładu

Bardziej szczegółowo

Grafika Komputerowa 3D Etap drugi

Grafika Komputerowa 3D Etap drugi Grafika Komputerowa 3D Etap drugi Należy wybrać i zrealizować w scenie z etapu pierwszego dowolny zestaw z podanych poniżej efektów tak, aby zgromadzić odpowiednią liczbę punktów. Nie można za drugi etap

Bardziej szczegółowo

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat BIBLIOTEKA PROGRAMU R - BIOPS Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat Biblioteka biops zawiera funkcje do analizy i przetwarzania obrazów. Operacje geometryczne (obrót, przesunięcie,

Bardziej szczegółowo

Wykorzystano fragmenty wykładu Krystyny Dziubich GRAFIKA WEKTOROWA. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska.

Wykorzystano fragmenty wykładu Krystyny Dziubich GRAFIKA WEKTOROWA. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska. Wykorzystano fragmenty wykładu Krystyny Dziubich GRAFIKA WEKTOROWA Waldemar Korłub Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska Grafika rastrowa 2 Plik graficzny jako siatka pixeli (bitmapa)

Bardziej szczegółowo

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.

Bardziej szczegółowo

Maskowanie i selekcja

Maskowanie i selekcja Maskowanie i selekcja Maska prostokątna Grafika bitmapowa - Corel PHOTO-PAINT Pozwala definiować prostokątne obszary edytowalne. Kiedy chcemy wykonać operacje nie na całym obrazku, lecz na jego części,

Bardziej szczegółowo

GRK 5. dr Wojciech Palubicki

GRK 5. dr Wojciech Palubicki GRK 5 dr Wojciech Palubicki Projekty (dwu-osobowe) Napisać symulacje lotu kosmicznego w OpenGLu: Korzystając tylko z bibliotek które na ćwiczeniach zostały omówione Interaktywna symulacja Wszystkie wielokąty

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. 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

Poniżej pokazane są poszczególne etapy, w nawiasach kwadratowych znajdują się nazwy tekstur, które utworzymy w projekcie, a przy strzałkach nazwy

Poniżej pokazane są poszczególne etapy, w nawiasach kwadratowych znajdują się nazwy tekstur, które utworzymy w projekcie, a przy strzałkach nazwy Część IV Postprocessing rozmycie gaussowskie Do tej pory obiekty renderowane były od razu do okna podglądu. Zmienimy trochę ten schemat tworzenia obrazu. Wszystkie przebiegi, które zostały utworzone do

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

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

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

7. Dynamiczne generowanie grafiki

7. Dynamiczne generowanie grafiki 7. Dynamiczne generowanie grafiki 7.1. Biblioteka GD Dynamiczne generowanie kodu HTML to podstawowe zastosowanie języka PHP. Często jednak to nie wystarczy i mieszanka: dynamiczny HTML plus statyczna grafika,

Bardziej szczegółowo

Elementarne obiekty geometryczne, bufory. Dorota Smorawa

Elementarne obiekty geometryczne, bufory. Dorota Smorawa Elementarne obiekty geometryczne, bufory Dorota Smorawa Elementarne obiekty Tworząc scenę 3D, od najprostszej, po najbardziej skomplikowaną, używamy obiektów złożonych, przede wszystkim podstawowych, elementarnych

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python PyGame 18 grudnia 2015 Plan wykładu 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D:

Bardziej szczegółowo

C Biblioteka G2. C.1 Koncepcja biblioteki G2.

C Biblioteka G2. C.1 Koncepcja biblioteki G2. C Biblioteka G2. J a c e k Ta r a s i u k C.1 Koncepcja biblioteki G2. Biblioteka graficzna G2 umożliwia tworzenie rysunków 2D z wykorzystaniem prostych funkcji rysujących. Niezwykle użyteczną cechą biblioteki

Bardziej szczegółowo

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Materiał jest zbiorem informacji o właściwościach powierzchni. Składa się na niego kolor, sposób odbijania światła i sposób nakładania

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