OpenGL - tekstury Mapowanie tekstur
|
|
- Weronika Kwiecień
- 5 lat temu
- Przeglądów:
Transkrypt
1 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 i Modelowania Maj 2017 / Czerwiec 2019 Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
2 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
3 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
4 Obiekty tekstur i ich parametry Tekstury, Podobnie jak obiekty: bufora wierzchołków VBO i tablicy wierzchołków VAO, są obiektami, które muszą zostać wygenerowane przez wywołanie odpowiednich funkcji. W tym momencie można sie już spodziewać, jak taka funkcja będzie wyglądać. GLuint tex; glgentextures(1, &tex); Tekstury są zazwyczaj używane jako "obrazy do dekoracji" modeli 3D, ale w rzeczywistości mogą być używane do przechowywania wielu różnych rodzajów danych. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
5 Obiekty tekstur i ich parametry Istnieją tekstury 1D, 2D i, jak wiemy, nawet 3D, które mogą być używane do przechowywania danych masowych w GPU. Przykładem innego wykorzystania tekstur jest przechowywanie informacji o terenie. W wykładzie zwrócono uwagę na użycie tekstur obrazów, ale zasady te mają zasadniczo zastosowanie do wszystkich rodzajów tekstur. Podobnie jak inne obiekty, tekstury muszą zostać przystosowane do wykonywania na nich operacji. Ponieważ obrazy są dwywymiarowymi macierzami pikseli, należy przywiązać je do obiektu typu GL_TEXTURE_2D. glbindtexture(gl_texture_2d, tex); Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
6 Obiekty tekstur i ich parametry Podczas operacji rysowania piksele w strukturze tekstury będą posiadały adresy w postaci współrzędnych tekstury. Współrzędne te leżą w przedziale od 0, 0 do 1, 0 gdzie: adres (0, 0) konwencjonalnie jest lewym dolnym rogiem tekstury, adres (1, 1) jest prawym górnym rogiem obrazu tekstury. Operacja, która wykorzystuje współrzędne tekstur do pobierania informacji o kolorze pikseli nazywa się próbkowaniem (ang. sampling ). Istnieją różne sposoby podejścia do tego problemu, z których każdy jest odpowiedni dla różnych scenariuszy. OpenGL oferuje wiele opcji kontrolujących sposób pobierania próbek - omówimy ich wspólne cechy. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
7 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
8 Nakładanie tekstur Pierwszą rzeczą, którą trzeba wziąć pod uwagę, sposób pobrania próbk, gdy żądana współrzędna wykracza poza zakres od 0 do 1. OpenGL oferuje 4 sposoby obsługi takiej czynności: GL_REPEAT - część całkowita współrzędnej zostanie zignorowana i zostanie utworzony powtarzający się wzór. GL_MIRRORED_REPEAT - tekstura zostanie również powtórzona, ale obraz będzie obrazem zwierciadlanym, gdy część całkowita współrzędnej jest nieparzysta. GL_CLAMP_TO_EDGE - współrzędna zostanie przekształcona do obszaru pomiędzy 0 a 1. GL_CLAMP_TO_BORDER - Współrzędnym poza zakresem zostanie przypisany wybrany kolor obramowania. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
9 Nakładanie tekstur Te wyjaśnienia mogą być nieco tajemnicze, więc zobaczmy jak wyglądają wszystkie te przypadki: Na początek przykładowy obraz tekstury Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
10 Nakładanie tekstur A teraz wszystkie wymienione przypadki: Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
11 Obiekty tekstur i ich parametry Clamping polega na przyporządkowaniu piksela o współrzędnych (x, y, z) tekselowi o współrzędnych (s, t, r). Parametry obsługi tekstur można zmieniać przy użyciu funkcji gltexparameter* w następujący sposób: gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_REPEAT); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_REPEAT); Jak zazwyczaj i wskazuje tu typ wartości, którą należy określić. Kolor obramowania dla czynności GL_CLAMP_TO_BORDER określa GL_TEXTURE_BORDER_COLOR ustawiany przy pomocy tablicy wartości RGBA : float color[] = { 1.0f, 0.0f, 0.0f, 1.0f }; gltexparameterfv(gl_texture_2d, GL_TEXTURE_BORDER_COLOR, color); Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
12 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
13 Filtrowanie tekstur Ponieważ współrzędne tekstur są niezależne od rozdzielczości, nie zawsze odpowiadają dokładnie położeniom pikseli. Dzieje się tak, gdy obraz tekstur jest rozciągany powyżej (lub ściskany poniżej) oryginalnego rozmiaru. W takich sytuacjach OpenGL oferuje różne metody decydowania o próbkowanych kolorach. Proces ten nazywa się filtrowaniem i są dostępne następujące jego metody: GL_NEAREST zwraca teksel znajdujący się najbliżej żądanych współrzędnych, GL_LINEAR zwraca średnią ważoną 4 tekseli otaczających podane współrzędne. GL_NEAREST_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_NEAREST, GL_NEAREST_MIPMAP_LINEAR, GL_LINEAR_MIPMAP_LINEAR - próbki pochodzą z MIP-map. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
14 Filtrowanie tekstur Zanim omówimy MIP-mapy, zwróćmy najpierw uwagę na różnicę między interpolacją GL_NEAREST i GL_LINEAR. Na rysunku oryginalny obraz jest 16-krotnie mniejszy niż prostokąt, na którym został on rasteryzowany. Chociaż interpolacja liniowa daje gładszy wynik, to nie zawsze jest to najbardziej idealna opcja. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
15 Filtrowanie tekstur Typ interpolacji, jaki ma zostać użyty do skalowania tekstur określa się dla dwóch oddzielnych przypadków identyfikowanych przez dwa słowa kluczowe: GL_TEXTURE_MIN_FILTER - skalowanie obrazu w dół, GL_TEXTURE_MAG_FILTER - skalowanie obrazu w górę. gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); W przypadku GL_TEXTURE_MAG_FILTER nie ma sensu stosować metod filtrowania innych niż GL_NEAREST i GL_LINEAR, gdyż MIP-mapy są mniejszymi kopiami tekstur. MIP-mapy są filtrowane w trakcie ich tworzenia. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
16 Filtrowanie tekstur Zaleca się używanie MIP-map w miejsce skalowania tekstur podstawowych, ponieważ zapewniają zarówno wyższą jakość, jak i wyższą wydajność. Generowanie MIP-map jest proste i następuje poprzez wywołanie funkcji: glgeneratemipmap(gl_texture_2d); Nie ma więc powodu, aby ich nie używać! Należy jednak pamiętać o załadowaniu samej tekstury głównej przed poleceniem generującym MIP-mapy. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
17 Filtrowanie MIP-map Używanie MIP-map wymaga wyboru jednej z czterech metod ich filtrowania: GL_NEAREST_MIPMAP_NEAREST - wybiera MIP-mapę, która najbardziej pasuje do rozmiaru piksela, który jest teksturowany i używa kryterium GL_NEAREST (elementu tekstury najbliższego określonym współrzędnym). GL_LINEAR_MIPMAP_NEAREST - wybiera MIP-mapę, która najbardziej pasuje do rozmiaru piksela, który jest teksturowany i używa kryterium GL_LINEAR (średnia ważona czterech elementów tekstury, które są najbliższe określonym współrzędnym tekstury). GL_NEAREST_MIPMAP_LINEAR - wybiera dwie MIP-mapy, które najbardziej odpowiadają rozmiarowi piksela, który jest teksturowany i używa kryterium GL_NEAREST, aby uzyskać wartość tekstur z każdej mapy MIP - ostateczna wartość tekstury jest średnią ważoną tych dwóch wartości. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
18 Filtrowanie MIP-map GL_LINEAR_MIPMAP_LINEAR - wybiera dwie MIP-mapy, które najbardziej odpowiadają rozmiarowi piksela, który jest teksturowany i używa kryterium GL_LINEAR, aby uzyskać wartość tekstur z każdej MIP-mapy - ostateczna wartość tekstury jest średnią ważoną tych dwóch wartości. Ostatni przypadek oznacza, że zostanie zastosowane filtrowanie dwuliniowe każdego odpowiedniego poziomu mipmapy i trzeci filtr liniowy między sąsiednimi poziomami mipmapy - stąd termin filtrowanie trójliniowe. Istnieją inne parametry tekstur, które są one dostosowane do specjalnych operacji - więcej szczegółów na ten temat można znaleźć w specyfikacji na stronie internetowej Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
19 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
20 Ładowanie obrazów tekstur Po tym, jak gdy obiekt tekstury zostanie skonfigurowany, nadchodzi czas na załadowanie obrazu tekstury. Odbywa się przez proste załadowanie tablicy pikseli przy pomocy funkcji glteximage2d - w naszym przypadku załadowana zostanie czarno-biała szachownica: // Czarno-biała szachownica float pixels[] = { 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f }; glteximage2d(gl_texture_2d, 0, GL_RGB, 2, 2, 0, GL_RGB, GL_FLOAT, pixels); Pierwszy parametr oznacza rodzaj tekstury. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
21 Ładowanie obrazów tekstur Drugi paramatr to poziom szczegółowości - 0 oznacza, że mamy do czynienie z teksturą podstawową - parametr ten może być używany do ładowania własnych obrazów MIP-map (jak już wiemy mogą one również zostać wygenerowane z tekstury podstawowej). Trzeci parametr ( GL_RGB ) określa wewnętrzny format pikseli, format, w którym piksele powinny być zapisywane na karcie graficznej - dostępnych jest wiele różnych formatów, w tym skompresowanych. Parametry czwarty i piąty ( 2 i 2 ) określają szerokość i wysokość obrazu liczoną w pikselach - wszystkie implementacje obsługują obrazy tekstur o szerokości co najmniej 1024 tekseli. Szósty parametr powinien zawsze mieć wartość 0. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
22 Ładowanie obrazów tekstur Parametry siódmy i ósmy ( GL_RGB i GL_FLOAT ) określają format pikseli i typ danych w tablicy, która zostanie załadowana. Ostatni parametr ( pixels ) określa samą tablicę. Funkcja ładuje obraz poczynając od współrzędnych (0, 0) - należy na to zwrócić uwagę. Pojawia się teraz pytanie co do samej tablicy pikseli - w jaki sposób powinna być zorganizowana? Tekstury w aplikacjach graficznych będą zazwyczaj bardziej wyrafinowane niż proste wzorce i będą ładowane z plików. Najlepszą praktyką jest posiadanie plików w formacie, który jest natywnie obsługiwany przez sprzęt, ale czasami bardziej wygodne jest ładowanie tekstur ze wspólnych formatów graficznych, takich jak JPG czy PNG. Niestety OpenGL nie oferuje żadnych funkcji pomocniczych do załadowywania pikseli z tych plików graficznych. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
23 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
24 SOIL I tu z pomocą przychodzą nam biblioteki innych firm - jedną z nich jest biblioteka SOIL. SOIL (Simple OpenGL Image Library) to mała i łatwa w użyciu biblioteka, która ładuje pliki obrazu bezpośrednio do obiektów tekstur lub tworzy takie obiekty. Aby zacząć jej używać, należy dodać katalog SOIL do ścieżki include kompilatora i SOIL -framework dla linkera. Chociaż SOIL zawiera funkcje automatycznego tworzenia tekstury z obrazu, używa przy tym innych funkcji, które nie są dostępne w nowoczesnych OpenGL. Z tego powodu po prostu użyjemy SOIL do załadowania obrazu i sami stworzymy teksturę. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
25 SOIL Następujący kod spowoduje załadowanie obrazu z pliku i utworzenie tekstury. int width, height; unsigned char* image = SOIL_load_image("img.png", &width, &height, 0, SOIL_LOAD_RGB); glteximage2d(gl_texture_2d, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); Teraz można przystąpić do konfiguracji parametrów tekstury i generowania MIP-map. Pamięć obrazu można wyczyścić bezpośrednio po załadowaniu go do tekstury. SOIL_free_image_data(image); Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
26 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
27 Używanie tekstur Jak widać, tekstury są próbkowane przy użyciu współrzędnych tekstur - trzeba je więc dodać do danych wierzchołkowych jako dodatkowe atrybuty. Wykorzystajmy dane z programu rysującego wielokąty dodając współrzędne tekstury. Nowa macierz wierzchołków będzie teraz zawierać współrzędne s i t dla każdego wierzchołka: float vertices[] = { // Position Color Texcoords -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, // Top-left 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, // Top-right 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, // Bottom-right -0.5f, -0.5f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f // Bottom-left }; Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
28 Używanie tekstur Shader wierzchołków musi również zostać zmodyfikowany tak, aby współrzędne tekstury mogły być interpolowane dla każdego fragmentu podobnie jak współrzędne koloru.... in vec2 texcoord; out vec3 Color; out vec2 Texcoord;... void main(){ Texcoord = texcoord;... Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
29 Używanie tekstur Tak jak poprzednio wskaźniki atrybutów muszą zostać dostosowane do nowego formatu: glvertexattribpointer(posattrib, 2, GL_FLOAT, GL_FALSE, 7*sizeof(float), 0); glvertexattribpointer(colattrib, 3, GL_FLOAT, GL_FALSE, 7*sizeof(float), (void*)(2*sizeof(float))); GLint texattrib = glgetattriblocation(shaderprogram, "texcoord"); glenablevertexattribarray(texattrib); glvertexattribpointer(texattrib, 2, GL_FLOAT, GL_FALSE, 7*sizeof(float), (void*)(5*sizeof(float))); Ponieważ dwie współrzędne zostały dodane, każdy z wierzchołków jest teraz opisany 7 danymi, a atrybuty tekstury zajmują 2 ostatnie pozycje Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
30 Używanie tekstur Teraz pozostaje tylko zapewnić dostęp do tekstury dla shadera fragmentów tak, aby był w stanie dokonywać próbkowania tekstury. Odbywa się to przez dodanie zmiennej uniform typu sampler2d, która będzie miała domyślną wartość równą 0. Wartość tę należy zmienić tylko wtedy, gdy chcemy zapewnić dostęp do wielu tekstur. Jako przykład posłuży nam użyty wcześniej obraz kotka, który zostanie załadowany przy użyciu biblioteki SOIL. W tym cely funkcji SOIL_load_image należy przekazać jako pierwszy parametr nazwę pliku zawierającego ten obraz. Obraz powinien się znaleźć w katalogu roboczym aplikacji. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
31 Używanie tekstur Aby pobrać próbkę z tekstury 2D przy użyciu samplera, należy wywołać funkcję texture z właściwym samplerem i współrzędnymi tekstury jako parametrami. Można również pomnożyć uzyskaną próbkę z atrybutem koloru, co może dostarczyć interesujących efektów. Shader fragmentów wygląda teraz tak: #version 150 in vec3 Color; in vec2 Texcoord; out vec4 outcolor; uniform sampler2d tex; void main(){ outcolor = texture(tex, Texcoord) * vec4(color, 1.0); } Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
32 Używanie tekstur Efekt końcowy przeprowadzonych operacji jest natępujący: Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
33 Spis treści 1 Obiekty tekstur i ich parametry 2 Nakładanie tekstur (wrapping) 3 Filtrowanie tekstur 4 Ładowanie obrazów tekstur 5 Biblioteka SOIL 6 Używanie tekstur 7 Jednostki teksturujące Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
34 Jednostki teksturujące Sampler w shaderze cieniującym był do tej pory związany z jednostką teksturującą nr 0. Jednostka teksturująca to odniesienie do konkretnego obiektu tekstury, która ma być próbkowana w module cieniującym. Tekstury są związane z jednostkami teksturującycmi używanymi wcześniej przez glbindtexture. Ponieważ do tej pory nie określono jawnie żadnej jednostki teksturującej, tekstura była związana z domyślną jednostką GL_TEXTURE0. Dlatego sampler w module cieniującym działałał prawidłowo. Funkcja glactivetexture określa który z obiektów tekstury jest związany z konkretną jednostką podczas wywoływania funkcji glbindtexture. glactivetexture(gl_texture0); Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
35 Jednostki teksturujące Liczba obsługiwanych jednostek teksturyjących różni się dla każdej od karty graficznej, ale nie może być mniejsza niż 48. Można śmiało powiedzieć, że limit ten jest nadmiarowy nawet w najbardziej ekstremalnych aplikacjach graficznych. Aby pokazać próbkowanie z wielu tekstur, spróbujmy zmieszać zdjęcia kotka ze zdjęciem szczeniaka. Należy przy tym zmień moduł shadera fragmentów tak, aby próbkowanie zachodziło z dwóch tekstur:... uniform sampler2d texkitten; uniform sampler2d texpuppy; void main(){ vec4 colkitten = texture(texkitten, Texcoord); vec4 colpuppy = texture(texpuppy, Texcoord); outcolor = mix(colkitten, colpuppy, 0.5); } Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
36 Jednostki teksturujące Funkcja mieszająca mix to specjalną funkcją GLSL, która interpoluje liniowo wartość między dwoma zmiennymi w oparciu o trzeci parametr. Wartość 0.0 wskazuje na pierwszą zmienną, a 1.0 na drugą - wartość pośrednia x miesza obie zmienne w stosunku x 1 x. Gdy samplery są gotowe, należy przypisać im pierwsze dwie jednostki teksturujące i powiązać z tymi jednostkami odpowiednie tekstury. Odbywa się to przez dodanie wywołań glactivetexture do kodu ładowania tekstur. Całość kodu przedstawiono na dwóch kolejnych przeźroczach. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
37 Jednostki teksturujące GLuint textures[2]; glgentextures(2, textures); int width, height; unsigned char* image; glactivetexture(gl_texture0); glbindtexture(gl_texture_2d, textures[0]); image = SOIL_load_image("Kitty.png", &width, &height, 0, SOIL_LOAD_RGB); glteximage2d(gl_texture_2d, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); SOIL_free_image_data(image); gluniform1i(glgetuniformlocation(shaderprogram, "texkitten"), 0); Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
38 Jednostki teksturujące glactivetexture(gl_texture1); glbindtexture(gl_texture_2d, textures[1]); image = SOIL_load_image("Puppy.png", &width, &height, 0, SOIL_LOAD_RGB); glteximage2d(gl_texture_2d, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); SOIL_free_image_data(image); gluniform1i(glgetuniformlocation(shaderprogram, "texpuppy"), 1); Jednostki teksturujące samplerów ustawia się za pomocą funkcji gluniform*, która akceptuje liczbę całkowitą określającą jednostkę teksturującą. Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
39 Używanie tekstur Przedstawiony kod prowadzi do następującego obrazu: Mirosław Głowacki (AGH, UJK) OpenGL 2017/ / 39
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ółowoTeksturowanie. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 10. Tekstury. Proces nakładania tekstury.
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
Bardziej szczegółowoOpenGL Ś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ółowoZadanie 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ółowoTeksturowanie (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ółowoOpenGL Ś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ółowoSynteza 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ółowoGrafika 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ółowoFiltrowanie 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ółowoGLKit. 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ółowoBartosz 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ółowoOpenGL 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ółowoBartosz 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ółowoPoniż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ółowoGry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r
Gry Komputerowe Laboratorium 4 Teksturowanie Kolizje obiektów z otoczeniem mgr inż. Michał Chwesiuk 1/29 Klasa Stwórzmy najpierw klasę TextureManager, która będzie obsługiwała tekstury w projekcie. 2/29
Bardziej szczegółowoDruga 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ółowoOpenGL : Oświetlenie. mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski. Szczecin, r 1/23
OpenGL : mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/23 Folder z plikami zewnętrznymi (resources) Po odpaleniu przykładowego projektu, nie uruchomi się on poprawnie. Powodem
Bardziej szczegółowoPlan 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ółowoNowoczesna OpenGL - rendering wielokątów Rendering wielokątów w kontekście biblioteki SFML
Nowoczesna OpenGL - rendering wielokątów Rendering wielokątów w kontekście biblioteki SFML Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Inżynierii Metali
Bardziej szczegółowoLaboratorium 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ółowoJanusz 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ółowoProgramowanie 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ółowo2 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ółowoPraca z wynikami w ALOORA
AGROLAB GROUP 02-2018 1 / 15 Spis treści Rozdział 1: praca z dwoma widokami wyników... 3 Wyniki według zlecenia... 3 Wyniki według próbki... 3 Modyfikowanie widoków... 3 Wybieranie określonych zleceń lub
Bardziej szczegółowoMapowanie 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ółowoImplementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek
Implementacja sieci neuronowych na karcie graficznej Waldemar Pawlaszek Motywacja Czyli po co to wszystko? Motywacja Procesor graficzny GPU (Graphics Processing Unit) Wydajność Elastyczność i precyzja
Bardziej szczegółowoANALIZA 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ółowoPodstawy programowania w języku C++ Zadania
Podstawy programowania w języku C++ Zadania Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoProgramowanie Obiektowew języku C++ Zadania L4
Programowanie Obiektowew języku C++ Zadania L4 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoPodstawy pozycjonowania CSS
Podstawy pozycjonowania CSS Żeby pokazać w jaki sposób przeglądarka rozkłada elementy na stronie posłużę się prostym przykładowym fragmentem kodu html. div id="before"
Bardziej szczegółowo7. 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ółowoFeedy produktowe Ceneo, Skąpiec, Favi, Domodi, Moneteasy
Aplikacja Shoper Appstore Feedy produktowe Ceneo, Skąpiec, Favi, Domodi, Moneteasy Stworzona przez: Krótki opis aplikacji Generuj konfigurorwalny plik XML z produktami z Twojego sklepu. Aplikacja umożliwia
Bardziej szczegółowoProgramowanie proceduralne w języku C++ Podstawy
Programowanie proceduralne w języku C++ Podstawy Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowo// 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ółowoUstawienia 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ółowoLaboratorium 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ółowoProgramowanie Obiektowew języku C++ Zadania L2
Programowanie Obiektowew języku C++ Zadania L2 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
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 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ółowoVisual Studio instalacja
Visual Studio 2017 - instalacja Do tej pory napisaliśmy wiele programów, z czego niemal wszystkie były aplikacjami konsolowymi. Najwyższy więc czas zająć się tworzeniem aplikacji z graficznym interfejsem
Bardziej szczegółowoJeśli chcemy usunąć ze zdjęć niewielkie obszary 'brudów' powstałych w wyniku np. zanieczyszczeń obiektywu lub matrycy.
Retusz zdjęć STEMPEL Jeśli chcemy usunąć ze zdjęć niewielkie obszary 'brudów' powstałych w wyniku np. zanieczyszczeń obiektywu lub matrycy. Można też stosować to narzędzie z powodzeniem do pozbywania się
Bardziej szczegółowoOperacja macro. czyli jak podpisać zdjęcie i zrobić miniaturę. Tworzymy nową akcję. Anna Góra. Zmiana dpi zdjęcia na 300 piks/cal.
Operacja macro czyli jak podpisać zdjęcie i zrobić miniaturę 29 września 2009 29 września 2009r. Tworzymy nową akcję 1. Otwieramy zdjęcie w Photoshopie. W palecie Operacje, po prawej stronie obszaru roboczego
Bardziej szczegółowoSystemy wirtualnej rzeczywistości. Komponenty i serwisy
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki
Bardziej szczegółowoĆwiczenie 1 Automatyczna animacja ruchu
Automatyczna animacja ruchu Celem ćwiczenia jest poznanie procesu tworzenia automatycznej animacji ruchu, która jest podstawą większości projektów we Flashu. Ze względu na swoją wszechstronność omawiana
Bardziej szczegółowo8 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ółowodr 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ółowoProgramowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
Bardziej szczegółowoDokumentacja WebMaster ver 1.0
1 Wstęp Dokumentacja WebMaster ver 1.0 Dokumentacja ta przeznaczona jest dla webmasterów, grafików, programistów. Przedstawia ona strukturę aplikacji SOTEeSKLEP, opisuje działanie oraz wyjaśnia m.in. jak
Bardziej szczegółowoBartł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ółowoWskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:
Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie
Bardziej szczegółowoOpis funkcji modułu Konwerter 3D
Opis funkcji modułu Konwerter 3D www.cadprojekt.com.pl Kliknij na tytuł rozdziału, aby przejść do wybranego zagadnienia MODUŁ KONWERTER 3D...3 Wygląd i funkcje okna modułu Konwerter 3D...3 Konwertowanie
Bardziej szczegółowoZajęcia nr 15 JavaScript wprowadzenie do JavaScript
Zajęcia nr 15 JavaScript wprowadzenie do JavaScript Prowadzący: Andrzej Gąsienica-Samek, strona kółka www.atinea.pl/kolko Wprowadzenie do jsfiddle.net Uruchom Chrome i wejdź na stronę http://jsfiddle.net.
Bardziej szczegółowo1 Temat: Vertex Shader
Instrukcja Architektura procesorów graficznych 1 Temat: Vertex Shader Przygotował: mgr inż. Tomasz Michno 1 Wstęp 1.1 Czym jest shader Shader jest programem (zazwyczaj krótkim), wykonywanym przez kartę
Bardziej szczegółowo3.4. Opis konfiguracji layoutów.
Definicja layout-ów dla tablicy odczytywana jest z tabeli w bazie danych: [UnitId_System] Gdańsk = 42, Gdynia = 43 [UnitId_Subsytem] 6 = TZT, 7 = ZZT [UnitId_Unit] identyfikator obiektu [Update_TimeStamp]
Bardziej szczegółowoRysowanie 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ółowoxmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />
1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism
Bardziej szczegółowoObsługa mapy przy użyciu narzędzi nawigacji
Obsługa mapy przy użyciu narzędzi nawigacji Narzędzia do nawigacji znajdują się w lewym górnym rogu okna mapy. Przesuń w górę, dół, w lewo, w prawo- strzałki kierunkowe pozwalają przesuwać mapę w wybranym
Bardziej szczegółowoWypełnianie kolorem lub deseniem
Wypełnianie kolorem lub deseniem Gdy narysujesz nowy obiekt, to zostaną mu nadane domyślne kolory wypełnienia, konturu, itp. Oczywiście wszystkie te parametry (i wiele innych) możesz dowolnie modyfikować.
Bardziej szczegółowoPotok graficzny i shadery. Hubert Rutkowski
Potok graficzny i shadery Hubert Rutkowski 1. Coś o mnie Zakład Technologii Gier Uniwerytetu Jagiellońskiego 2. Potok graficzny jak w OpenGL Cry Engine 3 (zródło: CryTek) Vertex specification
Bardziej szczegółowoKOMPUTEROWE WSPOMAGANIE PRAC INŻYNIERSKICH
KOMPUTEROWE WSPOMAGANIE PRAC INŻYNIERSKICH Joanna Bartnicka Joanna.Bartnicka@polsl.pl Treści kształcenia 1. Prace inżynierskie w cyklu życia produktu: stadia cyklu życia produktu, typy życia produktu.
Bardziej szczegółowoWAŻNE! colour.me Google Fonts tutaj
Otwieramy dokument, ustalamy podstawowe parametry. 1. Wpisujemy liczbę stron w tym przypadku będą to 2 (przód i tył). 2. Ustalamy rozmiar docelowy w tym przypadku 85x55 mm. 3. Odznaczamy opcję: strony
Bardziej szczegółowoDelphi podstawy programowania. Środowisko Delphi
Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór
Bardziej szczegółowoGRAFIKA 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ółowoShadery. Artur Staszczyk Bartłomiej Filipek
Shadery Artur Staszczyk www.astaszczyk.com Bartłomiej Filipek www.bartlomiejfilipek.pl Bartlomiej.filipek@gmail.com Potok graficzny Vertex shader Fragment shader GLSL Przykłady Inne shadery? Vertex shader
Bardziej szczegółowoTemat: Tekstury uŝytkownika
Techniki CAD w pracy inŝyniera Aplikacja programu Autodesk Inventor 2010. Studium stacjonarne i niestacjonarne. Kierunek: Elektrotechnika Temat: Tekstury uŝytkownika Opracował: dr inŝ. Andrzej Wilk 2 1.
Bardziej szczegółowoPolitechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki
Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Ćwiczenie laboratoryjne 2 Temat: Modelowanie powierzchni swobodnych 3D przy użyciu programu Autodesk Inventor Spis treści 1.
Bardziej szczegółowoPodstawy Processingu. Diana Domańska. Uniwersytet Śląski
Podstawy Processingu Diana Domańska Uniwersytet Śląski Processing jest językiem programowania opartym na języku Java. Jest on nastawiony na aplikacje związane z grafiką, animacją. Projekt został zainicjowany
Bardziej szczegółowoProgramowanie 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ółowoMinimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.
Dokumentacja dla Scandroid. Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Scandroid to aplikacja przeznaczona
Bardziej szczegółowoPodstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm
Podstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki
Bardziej szczegółowo8. Dynamiczne generowanie grafiki, cz. 2
8. Dynamiczne generowanie grafiki, cz. 2 8.1. Generowanie tekstu Chociaż tekst można umieścić na grafice korzystając z HTML (używając grafiki jako tła obiektu), często wygodniej jest umieścić tekst bezpośrednio
Bardziej szczegółowoImplementacja filtru Canny ego
ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi
Bardziej szczegółowoWebowy generator wykresów wykorzystujący program gnuplot
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący
Bardziej szczegółowoWskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoTworzenie szablonów użytkownika
Poradnik Inżyniera Nr 40 Aktualizacja: 12/2018 Tworzenie szablonów użytkownika Program: Plik powiązany: Stratygrafia 3D - karty otworów Demo_manual_40.gsg Głównym celem niniejszego Przewodnika Inżyniera
Bardziej szczegółowoInformacje i porady dotyczące pisania shaderów.
Informacje i porady dotyczące pisania shaderów. 1. Informacje ogólne Będziemy się zajmować shaderami w wersji 2.0, które są obsługiwane przez karty graficzne z procesorami ATI Radeon serii 9000 (premiera
Bardziej szczegółowoSystem Obsługi Zleceń
System Obsługi Zleceń Podręcznik Administratora Atinea Sp. z o.o., ul. Chmielna 5/7, 00-021 Warszawa NIP 521-35-01-160, REGON 141568323, KRS 0000315398 Kapitał zakładowy: 51.000,00zł www.atinea.pl wersja
Bardziej szczegółowoGIMP. Ćwiczenie nr 6 efekty i filtry. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 18
Ćwiczenie nr 6 efekty i filtry Tak, jak każdy program graficzny GIMP posiada wbudowane narzędzia umożliwiające osiągnięcie różnego rodzaju efektów. Dostępne są one w menu edytowanego rysunku [filtry].
Bardziej szczegółowoLaboratorium 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ółowoZa pomocą atrybutu ROWS moŝemy dokonać podziału ekranu w poziomie. Odpowiedni kod powinien wyglądać następująco:
1 1. Ramki Najbardziej elastycznym sposobem budowania stron jest uŝycie ramek. Ułatwiają one nawigowanie w wielostronicowych dokumentach HTML, poprzez podział ekranu na kilka obszarów. KaŜdy z nich zawiera
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoPokaz slajdów na stronie internetowej
Pokaz slajdów na stronie internetowej... 1 Podpisy pod zdjęciami... 3 Publikacja pokazu slajdów w Internecie... 4 Generator strony Uczelni... 4 Funkcje dla zaawansowanych użytkowników... 5 Zmiana kolorów
Bardziej szczegółowoCeneo. (Moduł Magento) v.1.5.0
Ceneo (Moduł Magento) v.1.5.0 Strona 1 z 15 Spis treści Zgodny z Magento... 3 Instalacja... 3 Konfiguracja... 3 Konfiguracja Magento... 5 Punkty odbioru... 6 Dodawanie punktu... 6 Produkty CeneoLokalnie...
Bardziej szczegółowo1 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ółowoGrafika 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ółowoWstę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ółowoVetLINK moduł MAPA Instrukcja obsługi
VetLINK moduł MAPA Instrukcja obsługi Spis treści Wstęp...1 Przeglądanie i filtrowanie danych...3 Dodawanie nowych obiektów...3 Dodawanie miejsca...3 Dodawanie ogniska...3 Dodawanie obszaru...4 Wstęp Moduł
Bardziej szczegółowoWidżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.
Widżety KIWIPortal tworzenie umieszczanie na stronach internetowych opcje zaawansowane Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.3 Strona 1 z 17 1 SPIS TREŚCI 2 Metody osadzania widżetów... 3 2.1
Bardziej szczegółowoBaltie 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ółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoPodłą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ółowoGRAFIKA KOMPUTEROWA 10: Antyaliasing
GRAFIKA KOMPUTEROWA 10: Antyaliasing 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 37 e-mail:
Bardziej szczegółowoLaboratorium 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ółowoProgramowanie Obiektowew języku C++ Zadania L2
Programowanie Obiektowew języku C++ Zadania L2 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowo1. Pobieranie i instalacja FotoSendera
Jak zamówić zdjęcia przez FotoSender? Spis treści: 1. Pobieranie i instalacja FotoSendera 2. Logowanie 3. Opis okna programu 4. Tworzenie i wysyłanie zlecenia Krok 1: Wybór zdjęć Krok 2: Podsumowanie zlecenia
Bardziej szczegółowoSieci komputerowe i bazy danych
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Sieci komputerowe i bazy danych Sprawozdanie 5 Badanie protokołów pocztowych Szymon Dziewic Inżynieria Mechatroniczna Rok: III Grupa: L1 Zajęcia
Bardziej szczegółowo1. 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ółowoARCHICAD 21 podstawy wykorzystania standardu IFC
ARCHICAD 21 podstawy wykorzystania standardu IFC IFC (Industry Foundation Classes) to otwarty format wymiany danych. Powstał z myślą o ułatwieniu międzydyscyplinarnej współpracy z wykorzystaniem cyfrowych
Bardziej szczegółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowo