OpenGL oświetlenie i tekstury. OpenGL oświetlenie. Bogdan Kreczmer.
|
|
- Zofia Pietrzyk
- 6 lat temu
- Przeglądów:
Transkrypt
1 OpenGL oświetlenie Bogdan Kreczmer Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową.
2 Niniejsza prezentacja została wykonana przy użyciu systemu składu L A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer:
3 1 OpenGL Ogólna charakterystyka 2 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia 3
4 Geneza OpenGL Ogólna charakterystyka OpenGL (Open Graphics Library) specyfikuje i definiuje otwarte i uniwersalne API na potrzeby tworzenia grafiki 2D i 3D. Bazuje ona na pierwotnej koncepcji biblioteki IRIS GL tworzonej przez firmę Silicon Graphics Inc. Otwartą wersją biblioteki OpenGL jest biblioteka Mesa. Historia w skrócie W 1992 powołana została grupa ARB (ang. Architectural Review Board). Zrzeszała ona 10 firm (3DLabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, NVIDIA, SGI, Sun Microsystems). Grupa ta kontrolowała rozwój OpenGL. W połowie 2006 komitet standaryzacyjny ARB zdecydował o wcieleniu ARB do Khronos. Od tego czasu Khronos nadzoruje rozwój i standaryzację OpenGL.
5 Khronos OpenGL Ogólna charakterystyka Grupa Khronos została założona przez firmy: ATI Technologies, Autodesk Media and Entertainment, Evans & Sutherland, Intel, NVIDIA, Silicon Graphics oraz Sun Microsystems. Celem grupy jest tworzenie otwartych standardów API, które umożliwia autoryzację i otwarzanie różnego typu mediów na różnych platformach i urządzeniach, w szczególności urządzeniach mobilnych. Ważniejsze specyfikacje i standaryzacje Grupy Khronos OpenGL (od roku 2006), OpenGL ES (ang. OpenGL for Embedded Systems) przenośna wersja OpenGL zaprojektowana w szczególności dla urządzeń mobilnych. Stanowi oficjalne API dla systemów Android i ios. Dla przeglądarek kompatibilnych z HTML5 stworzono osobną implementację WebGL. OpenCL API dla biblioteki wspmagającej pisanie aplikacji na różne jednostki obliczeniowe (np. CPU, GPU itd.)
6 Cechy OpenGL Ogólna charakterystyka Biblioteka ma architekturę klient-serwer. Klientem jest aplikacja, która zleca wykonanie operacji rysowania. Serwerem jest aktualna implementacja biblioteki. Zazwyczaj proces serwera jest na tym samym komputerze, ale tak być nie musi. Projekt biblioteki zakłada, że możliwie najwięcej operacji jest realizowana sprzętowo. Aczkolwiek cała biblioteka może zostać również zaimplementowana w wersji programowej. Implementacja biblioteki jest niezależna od języka (posiada wiele dowiązań z różnych języków). OpenGL nie jest związany z żadną konkretną platformą sprzętową. W tym sensie jest to biblioteka przenośna. OpenGL jest ukierunkowana na renderowanie grafiki. Tym samym nie dostarcza żadnych mechanizmów związanych wejściem (klawiaturą, myszką itp.), wyjściem audio, czy też mechanizmami zarządzania oknami.
7 Cecha działania OpenGL Ogólna charakterystyka Ma charakter maszyny stanu. Stan określany jest przez zbiór parametrów decydujących o trybie działania. Można je włączać lub wyłączać. Mogą też być zapamiętywane na stosie i później odtwarzane. Przykłady parametrów: macierze transformacji, kolor rysowania, rodzaj używanej linii, używana tekstura, sposób działania bufora Z, sposób rysowania wewnętrznych ścianek,
8 Ogólna charakterystyka Struktura aplikacji wykorzystującej OpenGL kernel and OpenGL video games.svg
9 Konwencje nazw OpenGL Ogólna charakterystyka NazwaFunkcji{1234}{b s i i64 f d ub us ui ui64}{v} Suffix b s i i64 ub us ui ui64 f d OpenGL Type GLbyte GLshort GLint GLint64 GLubyte GLushort GLuint GLuint64 GLfloat GLdouble Przykłady nazw funkcji void glvertexattrib1f(gluint index, GLfloat v0); void glvertexattrib2f(gluint index, GLfloat v0, GLfloat v1); void glvertexattrib3f(gluint index, GLfloat v0, GLfloat v1, GLfloat v2);
10 Rodzaje źródeł światła Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Źródło światła może być punktowe. Jednak z takim źródłem stowarzyszone jest oświetlenie dookólne, które jest wynikiem wielokrotnych odbić światła od różnych powierzchni. Po wielu odbiciach światło to traci swoją pierwotną kierunkowość. W wyniku czego nie można określić jego pierwotnego pochodzenia. Światło to jednak znika po wyłączeniu jego pierwotnego źródła. Istnieje również ogólne rozproszone światło, które nie jest związane z żadnym źródłem.
11 Model oświetlenia OpenGL Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Model oświetlenia obejmuje 4 składowe, które wyznaczane są niezależnie, a następnie sumowane. Tymi składowymi są następujące typy oświetlenia: dookólne (ang. ambient) pochodzi z wielokrotnych odbić, które uniemożliwiają wyznaczenie jego pierwotnego źródła. Gdy tego typu oświetlenie pada na powierzchnię, odbijane jest we wszystkich kierunkach w jednakowym stopniu. rozproszone (ang. diffuse) światło docierające z jednego określonego kierunku. Ta składowa daje intensywniejsze oświetlenie, gdy światło pada na wprost na powierzchnię, niż pod pewnym kątem. Jednak od powierzchni odbija się w jednakowy sposób we wszystkich kierunkach. zwierciadlane (ang. specular) światło pochodzi z jednego określonego kierunku. Po odbiciu od powierzchni ma tendencję rozchodzić się w jednym kierunku. Powierzchnie mogą mieć różne współczynniki dla poszczególnych komponentów (RGB) światła. Metal może mieć bardzo wysoki współczynnik. Natomiast sukno może mieć współczynnik bliski zeru. Wartość tego współczynnika można interpretować jako połyskliwość.
12 Spektrum OpenGL Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Pomimo ustalonej charakterystyki widmowej źródła światła, składowe oświetlenia dookólnego, rozproszonego i zwierciadlanego mogą być różne. Przykład: Jeśli jesteśmy w pokoju, którego ściany są zielone i jest ono oświetlone światłem białym, to składowa oświetlenia dookólnego będzie miała silniejszą składową zieloną. Dla każdej składowej oświetlania można indywidualnie ustawić komponenty RGB.
13 Kolory materiałów OpenGL Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Materiały mogą mieć różne komponenty spektralne dla składowych światła abient, diffuse i specular. Współczynniki tych komponentów decydują w jakim stopniu komponenty spektralne poszczególnych składowych światła zostaną odbite. Dodatkowo materiały mają składową emisyjną (ang. emissive), która symuluje światło wydobywające się z danej powierzchni. Składowa ta pozwala zwiększyć intensywność koloru obiektu. Nie wpływa na nią żadne zewnętrzne oświetlenie, jak też nie daje ono żadnego dodatkowego oświetlenia otoczenia. Wyznaczanie światła odbitego (L r, L g, L b ) = (S r M r, S g M g, S b M b ) Intensywność światła pochodzącego z kilku źródeł lub odbić podlega sumowaniu (L r, L g, L b ) = (L 1,r + L 2,r, L 1,g + L 2,g, L 1,b + L 2,b )
14 Tworzenie oświetlenia OpenGL Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Zdefiniuj normalne wektory dla każdego wierzchołka wszystkich obiektów. Wektory definiują orientację obiektu względem źródła światła. Stwórz, wyselekcjonuj i ustaw w odpowiedniej pozycji jedno lub więcej źródeł światła. Stwórz i wybierz model oświetlenia, który zdefiniuje poziom globalnego dookólnego oświetlenia i lokalizację punktu obserwacji (aby umożliwić wyliczenie efektu oświetlenia). Zdefiniuj własności materiałów obiektów znajdujących się na scenie.
15 Tworzenie oświetlenia przykład Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia v o i d i n i t ( v o i d ) { G L f l o a t m a t s p e c u l a r [ ] = { 1. 0, 1. 0, 1. 0, 1. 0 }; GLfloat mat shininess [ ] = { 50.0 }; G L f l o a t l i g h t p o s i t i o n [ ] = { 1. 0, 1. 0, 1. 0, 0. 0 }; g l C l e a r C o l o r ( 0. 0, 0. 0, 0. 0, 0. 0 ) ; glshademodel (GL SMOOTH ) ; g l M a t e r i a l f v (GL FRONT, GL SPECULAR, m a t s p e c u l a r ) ; g l M a t e r i a l f v (GL FRONT, GL SHININESS, m a t s h i n i n e s s ) ; g l L i g h t f v ( GL LIGHT0, GL POSITION, l i g h t p o s i t i o n ) ; } glenable ( GL LIGHTING ) ; g l E n a b l e ( GL LIGHT0 ) ; glenable (GL DEPTH TEST ) ; v o i d d i s p l a y ( v o i d ) { g l C l e a r ( GL COLOR BUFFER BIT GL DEPTH BUFFER BIT ) ; g l u t S o l i d S p h e r e ( 1. 0, 20, 1 6 ) ; g l F l u s h ( ) ; }
16 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Wektory normalne v o i d i n i t ( v o i d ) { } v o i d d i s p l a y ( v o i d ) { g l C l e a r ( GL COLOR BUFFER BIT GL DEPTH BUFFER BIT ) ; g l u t S o l i d S p h e r e ( 1. 0, 20, 1 6 ) ; g l F l u s h ( ) ; } Zdefiniuj normalne wektory dla każdego wierzchołka wszystkich obiektów. Wektory definiują orientację obiektu względem źródła światła. Stwórz, wyselekcjonuj i ustaw w odpowiedniej pozycji jedno lub więcej źródeł światła. Stwórz i wybierz model oświetlenia, który zdefiniuje poziom globalnego dookólnego oświetlenia i lokalizację punktu obserwacji (aby umożliwić wyliczenie efektu oświetlenia). Zdefiniuj własności materiałów obiektów znajdujących się na scenie.
17 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Wektory normalne v o i d i n i t ( v o i d ) { } v o i d d i s p l a y ( v o i d ) { g l C l e a r ( GL COLOR BUFFER BIT GL DEPTH BUFFER BIT ) ; g l u t S o l i d S p h e r e ( 1. 0, 20, 1 6 ) ; g l F l u s h ( ) ; } Zdefiniuj normalne wektory dla każdego wierzchołka wszystkich obiektów. Wektory definiują orientację obiektu względem źródła światła. GLUT The OpenGL Utility Toolkit Niezależny od platformy toolkit umożliwiający pisanie programów wykorzystujących OpenGL. Implementuje prosty interfejs aplikacji dla okienkowych programów. Przewidziany jest do pisania małych lub średnich aplikacji.
18 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Źródło światła v o i d i n i t ( v o i d ) { G L f l o a t l i g h t p o s i t i o n [ ] = { 1. 0, 1. 0, 1. 0, 0. 0 }; g l L i g h t f v ( GL LIGHT0, GL POSITION, l i g h t p o s i t i o n ) ; } glenable ( GL LIGHTING ) ; g l E n a b l e ( GL LIGHT0 ) ; Zdefiniuj normalne wektory dla każdego wierzchołka wszystkich obiektów. Wektory definiują orientację obiektu względem źródła światła. Stwórz, wyselekcjonuj i ustaw w odpowiedniej pozycji jedno lub więcej źródeł światła. Stwórz i wybierz model oświetlenia, który zdefiniuje poziom globalnego dookólnego oświetlenia i lokalizację punktu obserwacji (aby umożliwić wyliczenie efektu oświetlenia). Zdefiniuj własności materiałów obiektów znajdujących się na scenie.
19 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Źródło światła v o i d i n i t ( v o i d ) { G L f l o a t l i g h t p o s i t i o n [ ] = { 1. 0, 1. 0, 1. 0, 0. 0 }; g l L i g h t f v ( GL LIGHT0, GL POSITION, l i g h t p o s i t i o n ) ; } glenable ( GL LIGHTING ) ; g l E n a b l e ( GL LIGHT0 ) ; Stwórz, wyselekcjonuj i ustaw w odpowiedniej pozycji jedno lub więcej źródeł światła. Użyte zostało tylko jedno źródło światła, które domyślnie ma kolor biały. W ogólnym przypadku może być 8 źródeł o dowolnych barwach. Domyślnie pozostałe źródła mają kolor światła czarny. Należy pamiętać, że włączanie kolejnych źródeł zwiększa też ilość obliczeń. glenable(gl LIGHTING) przygotowuje OpenGL do wykonania obliczeń oświetlenia.
20 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Model oświetlenia v o i d i n i t ( v o i d ) { G L f l o a t l i g h t p o s i t i o n [ ] = { 1. 0, 1. 0, 1. 0, 0. 0 }; g l L i g h t f v ( GL LIGHT0, GL POSITION, l i g h t p o s i t i o n ) ; } glenable ( GL LIGHTING ) ; g l E n a b l e ( GL LIGHT0 ) ; Zdefiniuj normalne wektory dla każdego wierzchołka wszystkich obiektów. Wektory definiują orientację obiektu względem źródła światła. Stwórz, wyselekcjonuj i ustaw w odpowiedniej pozycji jedno lub więcej źródeł światła. Stwórz i wybierz model oświetlenia, który zdefiniuje poziom globalnego dookólnego oświetlenia i lokalizację punktu obserwacji (aby umożliwić wyliczenie efektu oświetlenia). Zdefiniuj własności materiałów obiektów znajdujących się na scenie.
21 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Model oświetlenia v o i d i n i t ( v o i d ) { G L f l o a t l i g h t p o s i t i o n [ ] = { 1. 0, 1. 0, 1. 0, 0. 0 }; g l L i g h t f v ( GL LIGHT0, GL POSITION, l i g h t p o s i t i o n ) ; } glenable ( GL LIGHTING ) ; g l E n a b l e ( GL LIGHT0 ) ; Stwórz i wybierz model oświetlenia, który zdefiniuje poziom globalnego dookólnego oświetlenia i lokalizację punktu obserwacji (aby umożliwić wyliczenie efektu oświetlenia). Model oświetlenia definiowany jest przez funkcję gllightmodel*(). W tym przykładzie zostało zdefiniowane tylko oświetlenie dookólne. Ogólnie model oświetlenia definiuje, czy oświetlenie ma być liczone dla frontu powierzchni i jej tyłu, czy źródło światła znajduje się w nieskończoności, czy też w określonej odległości. W przykładzie obliczenia są wykonywane tylko dla frontu, a źródło znajduje się w nieskończoności.
22 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Własności materiału v o i d i n i t ( v o i d ) { GLfloat m a t s p e c u l a r [ ] = { 1. 0, 1. 0, 1. 0, 1.0 }; / RGBA / GLfloat mat shininess [ ] = { 50.0 }; g l M a t e r i a l f v (GL FRONT, GL SPECULAR, m a t s p e c u l a r ) ; g l M a t e r i a l f v (GL FRONT, GL SHININESS, m a t s h i n i n e s s ) ; } Zdefiniuj normalne wektory dla każdego wierzchołka wszystkich obiektów. Wektory definiują orientację obiektu względem źródła światła. Stwórz, wyselekcjonuj i ustaw w odpowiedniej pozycji jedno lub więcej źródeł światła. Stwórz i wybierz model oświetlenia, który zdefiniuje poziom globalnego dookólnego oświetlenia i lokalizację punktu obserwacji (aby umożliwić wyliczenie efektu oświetlenia). Zdefiniuj własności materiałów obiektów znajdujących się na scenie.
23 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Własności materiału v o i d i n i t ( v o i d ) { GLfloat m a t s p e c u l a r [ ] = { 1. 0, 1. 0, 1. 0, 1.0 }; / RGBA / GLfloat mat shininess [ ] = { 50.0 }; g l M a t e r i a l f v (GL FRONT, GL SPECULAR, m a t s p e c u l a r ) ; g l M a t e r i a l f v (GL FRONT, GL SHININESS, m a t s h i n i n e s s ) ; } Zdefiniuj własności materiałów obiektów znajdujących się na scenie. Rodzaj materiału definiuje sposób odbicia światła. Ponieważ interakcja różnych sposób odbicia światła jest bardzo złożona, dobór właściwych parametrów jest sztuką samą w sobie. Ogólnie dla powierzchni można określić takie parametry jak: ambient, diffuse oraz specular; niezależnie dla każdej z barw RGB. W prezentowanym przykładzie tylko dwie ostatnie własności zostały ustawione.
24 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Tworzenie oświetlenia Własności materiału Prototypy void gllight{if}(glenum light, GLenum pname, TYPE param); void gllight{if}v(glenum light, GLenum pname, TYPE *param); Nazwa parametru Domyślna wartość Znaczenie GL AMBIENT (0.0, 0.0, 0.0, 1.0) RGBA (intensywność światła) GL DIFFUSE (1.0, 1.0, 1.0, 1.0) RGBA (intensywność światła) GL SPECULAR (1.0, 1.0, 1.0, 1.0) RGBA (intensywność światła) GL POSITION (0.0, 0.0, 1.0, 0.0) (x, y, z, w) (pozycja światła) GL SPOT DIRECTION (0.0, 0.0, -1.0) (x, y, z) (kierunek snopu światła) GL SPOT EXPONENT 0.0 współczynnik eksponenty GL SPOT CUTOFF ograniczenie snopu światła GL CONSTANT ATTENUATION 1.0 Stała zanikania GL LINEAR ATTENUATION 0.0 Współczynnik liniowego zanikania GL QUADRATIC ATTENUATION 0.0 Współczynnik zanikania z kwadratem odległości
25 Etapy mapowania tekstur Mapowanie tekstur wymaga wykonania następujących kroków: Stworzenie obiektu reprezentującego teksturę i wyspecyfikowanie tekstury. Wskazanie w jaki sposób tekstura ma być przeniesiona na każdy z pikseli danej powierzchni. Uaktywnienie mapowania tekstury. Zadanie współrzędnych tekstury na powierzchni i współrzędnych samej powierzchni obiektu, a następnie przystąpienie do renderowania obrazu. Mapowanie tekstury działa w trybie RGBA. Nie działa w trybie indeksowania kolorów.
26 Przykład tworzenia tekstury v o i d Viewer : : i n i t ( ) { MakeImage CheckBoard ( ) ; g l P i x e l S t o r e i (GL UNPACK ALIGNMENT, 1 ) ; g l G e n T e x t u r e s (1, &Texture4Manip ) ; glbindtexture (GL TEXTURE 2D, Texture4Manip ) ; } gltexparameteri (GL TEXTURE 2D, GL TEXTURE WRAP S, GL REPEAT ) ; gltexparameteri (GL TEXTURE 2D, GL TEXTURE WRAP T, GL REPEAT ) ; gltexparameteri (GL TEXTURE 2D, GL TEXTURE MAG FILTER, GL NEAREST ) ; // GL LINEAR ) ; //GL NEAREST ) ; gltexparameteri (GL TEXTURE 2D, GL TEXTURE MIN FILTER, GL NEAREST ) ; //GL LINEAR ) ; glteximage2d (GL TEXTURE 2D, 0, GL RGBA, WIDTH CHECK BOARD, HEIGHT CHECK BOARD, 0, GL RGBA, GL UNSIGNED BYTE, Image CheckBoard ) ;
27 Generowanie identyfikatorów g l G e n T e x t u r e s ( 1, &Texture4Manip ) ; g l B i n d T e x t u r e (GL TEXTURE 2D, Texture4Manip ) ; Funkcja glgentextures generuje identyfikator tekstury, który będzie wykorzystany do jej selekcji i tworzenia powiązań. W nomenklaturze opisu funkcji biblioteki OpenGL identyfikator ten określany jest jako nazwa tekstury. void glgentextures(glsizei n, GLunit *ptextres) n ilość identyfikatorów, która ma być wygenerowana, ptextres wskaźnik na tablicę, w której mają być składowane wygenerowane identyfikatory.
28 Tworzenie powiązań OpenGL g l G e n T e x t u r e s ( 1, &Texture4Manip ) ; g l B i n d T e x t u r e (GL TEXTURE 2D, Texture4Manip ) ; Funkcja glbindtexture tworzy odpowiednie struktury danych reprezentujące teksturę i dokonuje powiązania identyfikatora tekstury ze wspomnianą strukturą danych. Funkcja ta służy również do przełączania się między teksturami. Pierwszy parametr odpowiada za typ tekstury. void glbindtexture(glenum Target, GLunit TextureName) Target specyfikuje typ docelowej tekstury. Przykładowe dopuszczalne wartości: GL TEXTURE 1D, GL TEXTURE 2D, GL TEXTURE 3D, GL TEXTURE 1D ARRAY,. TextreName identyfikator tekstury, z którą ma nastąpić powiązanie. Identyfikator należy wygenerować za pomocą glgentextures.
29 Mapowanie tekstury OpenGL gltexparameteri (GL TEXTURE 2D, GL TEXTURE WRAP S, GL REPEAT ) ; gltexparameteri (GL TEXTURE 2D, GL TEXTURE WRAP T, GL REPEAT ) ; Funkcja gltexparameteri określa sposób mapowania tekstury na powierzchnię obiektu. Operacje wykonywane przez tę funkcję odnoszą się do bieżącej tekstury, która jest ustalona przez ostatnie wywołanie funkcji glbindtexture. Pierwszy parametr odnosi się do typu tekstury. void gltexparameteri(glenum Target, GLenum ParamName GLint ParamVal)) Target specyfikuje typ docelowej tekstury. Dopuszczalne wartości: GL TEXTURE 2D, GL CUBE MAP. ParamName symboliczna nazwa parametru. Dopuszczalne wartości: GL TEXTURE MIN FILTER, GL TEXTURE MIN FILTER, GL TEXTURE WRAP S, GL TEXTURE WRAP T. ParamVal specyfikuje wartość parametru identyfikowanego przez symbol przekazany przez ParamName.
30 Mapowanie tekstury OpenGL gltexparameteri (GL TEXTURE 2D, GL TEXTURE WRAP S, GL REPEAT ) ; gltexparameteri (GL TEXTURE 2D, GL TEXTURE WRAP T, GL REPEAT ) ; W tym przypadku, ustawiane są odpowiednie wartości dla parametrów odpowiadających za zawijanie tekstur, gdy ich współrzędne (s, t) przekraczają przedział [0, 1]. W tym przypadku tekstura będzie powielana. Inne dopuszczalne wartości GL TEXTURE WRAP S oraz GL TEXTURE WRAP T: GL CLAMP obcinanie do przedziału [0, 1], ParamName symboliczna nazwa parametru. Dopuszczalne wartości: GL TEXTURE MIN FILTER, GL TEXTURE MIN FILTER, GL TEXTURE WRAP S, GL TEXTURE WRAP T. ParamVal specyfikuje wartość parametru identyfikowanego przez symbol przekazany przez ParamName.
31 Pomniejszanie i powiększanie Gdy tekstura jest mniejsza lub większa niż powierzchnia, na którą jest nakładana, konieczne jest jej odpowiednia transformacja. Możliwe są dwa sposoby identyfikowane przez parametry: GL NEAREST o kolorze piksela decyduje najbliższy piksel tekstury, GL LINEAR o kolor piksela ustalany jest na podstawie liniowej interpolacji kolorów sąsiednich pikseli tekstury. Wskazanie przypadku, w którym dana transformacja ma być zastosowana, odbywa się poprzez wybranie filtru identyfikowanego poprzez jedną z wartości: GL TEXTURE MIN FILTER filtr stosowany w przypadku pomniejszania tekstury, GL TEXTURE MAG FILTER filtr stosowany w przypadku powiększania tekstury, Przykład kodu ustalenia parametrów filtracji dla bieżącej tekstury gltexparameteri (GL TEXTURE 2D, GL TEXTURE MAG FILTER, GL LINEAR ) ; gltexparameteri (GL TEXTURE 2D, GL TEXTURE MIN FILTER, GL NEAREST ) ;
32 Przykład efektów filtrowania GL TEXTURE MIN FILTER, GL NEAREST GL TEXTURE MAG FILTER, GL NEAREST GL TEXTURE MIN FILTER, GL LINEAR GL TEXTURE MAG FILTER, GL LINEAR
33 Koniec prezentacji Dziękuję za uwagę
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ółowoOpenGL i Qt. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska
w Qt i Qt Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2019 Bogdan Kreczmer Niniejszy dokument zawiera materiały
Bardziej szczegółowo6 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ółowoOś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Ś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Ś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ółowoSpecyfikacja 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ółowoGrafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38
Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego
Bardziej szczegół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ółowoCo 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ółowoModel oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie
Model oświetlenia Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Obliczenie koloru powierzchni (ang. Lighting) Światło biegnie od źródła światła, odbija
Bardziej szczegółowoMateriał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ółowoQt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska
Qt sygnały i sloty Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera
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ółowoCzujniki PSD i dalmierze triangulacyjne
Czujniki PSD i dalmierze triangulacyjne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan Kreczmer
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ółowoAnimowana grafika 3D. Opracowanie: J. Kęsik.
Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Powierzchnia obiektu 3D jest renderowana jako czarna jeżeli nie jest oświetlana żadnym światłem (wyjątkiem są obiekty samoświecące) Oświetlenie
Bardziej szczegółowoPapyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Zaawansowane metody programowania Copyright c 2014 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoPrzestrzenie nazw. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoOprogramowanie 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ół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ółowoCzujniki PSD i dalmierze triangulacyjne
Czujniki PSD i dalmierze triangulacyjne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2016 Bogdan Kreczmer
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ół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ółowoOświetlenie obiektów 3D
Synteza i obróbka obrazu Oświetlenie obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Rasteryzacja Spłaszczony po rzutowaniu obraz siatek wielokątowych
Bardziej szczegółowoSchemat konstrukcja pliku Makefile
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoZasoby, pliki graficzne
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 materiały do wykładu
Bardziej szczegółowoDalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl
Dalmierze optyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer
Bardziej szczegółowoOpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1)
OpenGL - Open Graphics Library Programowanie grafiki komputerowej Rados$aw Mantiuk Wydzia$ Informatyki Zachodniopomorski Uniwersytet Technologiczny! OpenGL: architektura systemu do programowania grafiki
Bardziej szczegółowoTekstury. 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 (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ół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ółowoWprowadzenie do szablonów 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 2008-2010 Bogdan Kreczmer Niniejszy
Bardziej szczegółowoQt sygnały i designer
Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan
Bardziej szczegółowoOświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.
Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Chcąc osiągnąć realizm renderowanego obrazu, należy rozwiązać problem świetlenia. Barwy, faktury i inne właściwości przedmiotów postrzegamy
Bardziej szczegół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ółowoPraca z aplikacją designer
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2014 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoGRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL
GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL Grafika komputerowa i wizualizacja, Bioinformatyka S1, II Rok OpenGL Open Graphics Library Jest to API pozwalające na renderowanie grafiki w czasie rzeczywistym,
Bardziej szczegół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ółowoPrzykłady oprogramowania wykorzystujacego Qt
Przykłady oprogramowania wykorzystujacego Qt Bogdan Kreczmer ZPCiR ICT PWR pokój 307 budynek C3 kreczmer@ict.pwr.wroc.pl Copyright c 2003 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoWprowadzenie do UML, przykład użycia kolizja
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoStyle programowania - krótki przeglad
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
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ółowoGRK 4. dr Wojciech Palubicki
GRK 4 dr Wojciech Palubicki Uproszczony Potok Graficzny (Rendering) Model Matrix View Matrix Projection Matrix Viewport Transform Object Space World Space View Space Clip Space Screen Space Projection
Bardziej szczegółowoDiagramy UML, przykład problemu kolizji
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoJulia 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ółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoWprowadzenie do QT OpenGL
Wprowadzenie do QT mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/21 - Open Graphics Library Open Graphics Library API pozwalające na wykorzystanie akceleracji sprzętowej do renderowania
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoWeryfikatory, zasoby graficzne
, zasoby graficzne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2019 Bogdan Kreczmer Niniejszy dokument zawiera
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ółowoPolitechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios
Politechnika Poznańska, Instytut Informatyki, TWO/GE Programowanie dla ios 13 stycznia 2012 Urządzenia ios Urządzenie Data prezentacji iphone 9.01.2007/06.2007 ipod touch 5.09.2007 iphone 3G 9.06.2008
Bardziej szczegółowoGeneza powstania języka C++
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoGeneza powstania języka C++
Geneza powstania języka C++ Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat
Bardziej szczegółowo1. Oświetlenie Materiały i powierzchnie
1. Oświetlenie Rzeczywiste światło emitowane przez określone źródło, odbijane jest na milionach powierzchni obiektów, po czym dociera do naszych oczu powodując, że widzimy dane przedmioty. Światło padające
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ółowoOpenGL - 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ółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoGRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu
GRAKO: ŚWIATŁO I CIENIE Metody oświetlania Metody cieniowania Przykłady OŚWIETLENIE: elementy istotne w projektowaniu Rozumienie fizyki światła w realnym świecie Rozumienie procesu percepcji światła Opracowanie
Bardziej szczegółowoGry komputerowe: efekty specjalne cz. 2
1/43 Gry komputerowe: efekty specjalne cz. 2 Przygotowała: Anna Tomaszewska 2/43 Mapowanie środowiska - definicja aproksymacje odbić na powierzchnie prosto- i krzywoliniowej," oświetlanie sceny." obserwator
Bardziej szczegółowoPorównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.
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ółowoDia rysowanie diagramów
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoLaboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny
Laboratorium grafiki komputerowej i animacji Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Przygotowanie do ćwiczenia: 1. Zapoznać się ze zdefiniowanymi w OpenGL modelami światła i właściwości materiałów.
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
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ół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ółowoGrafika komputerowa. Model oświetlenia. emisja światła przez źródła światła. interakcja światła z powierzchnią. absorbcja światła przez sensor
Model oświetlenia emisja światła przez źródła światła interakcja światła z powierzchnią absorbcja światła przez sensor Radiancja radiancja miara światła wychodzącego z powierzchni w danym kącie bryłowym
Bardziej szczegółowoZjawisko widzenia obrazów
Zjawisko widzenia obrazów emisja światła przez źródła światła interakcja światła z powierzchnią absorbcja światła przez sensor Źródła światła światło energia elektromagnetyczna podróżująca w przestrzeni
Bardziej szczegółowoGStreamer. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoGRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego.
GRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego. http://bazyluk.net/zpsb Grafika Komputerowa, Informatyka, I Rok PROGRAMOWANIE GRAFIKI KOMPUTEROWEJ CZASU RZECZYWISTEGO Grafika
Bardziej szczegół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ółowoAnaliza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
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ółowoWykład Ćwiczenia Laboratorium Projekt Seminarium
WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):
Bardziej szczegółowoProgramowanie Urządzeń Mobilnych. Część II: Android. Wykład 2
Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w
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ółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium GRAFIKA KOMPUTEROWA Computer Graphics Forma studiów: studia
Bardziej szczegółowoWzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Wzorce projektowe Wzorzec projektowy (ang. design pattern) w inżynierii oprogramowania, rozwiązanie często pojawiających się, powtarzalnych problemów projektowych.
Bardziej szczegółowoGrafika komputerowa i wizualizacja
Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet
Bardziej szczegółowoTemat: Wprowadzenie do OpenGL i GLUT
Instrukcja laboratoryjna 8 Grafika komputerowa 3D Temat: Wprowadzenie do OpenGL i GLUT Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny OpenGL
Bardziej szczegółowoGRAFIKA KOMPUTEROWA 8: Konwersja i mieszanie kolorów
GRAFIKA KOMPUTEROWA 8: Konwersja i mieszanie kolorów 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
Bardziej szczegółowoPola i metody statyczne
Pola i metody statyczne Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2009 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoWykład 4. Rendering (1) Informacje podstawowe
Wykład 4. Rendering (1) Informacje podstawowe Z punktu widzenia dzisiejszego programowania gier: Direct3D jest najczęściej wykorzystywanym przez profesjonalnych deweloperów gier API graficznym na platformie
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ółowoGrafika komputerowa. Grafika komputerowa. Grafika komputerowa
OpenGL - Koncepcja i architektura Aplikacja odwo!uje si" poprzez funkcje API OpenGL bezpo#rednio do karty graficznej (z pomini"ciem systemu operacyjnego). Programowanie grafiki komputerowej Rados!aw Mantiuk
Bardziej szczegółowoRENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski
RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Opóźnione cieniowanie wprowadzenie Koszt obliczeniowy cieniowania Cieniowanie jedno- i wieloprzebiegowe Cieniowanie opóźnione Schemat opóźnionego
Bardziej szczegółowoObiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych
Katedra Mikroelektroniki i Technik Informatycznych Łódź, 14 października 2005 roku Wstęp DOM Document Object Model zapewnia: Zbiór obiektów reprezentujących dokumenty XML i HTML. Model łączenia obiektów.
Bardziej szczegółowoGrafika 3D program POV-Ray - 1 -
Temat 1: Ogólne informacje o programie POV-Ray. Interfejs programu. Ustawienie kamery i świateł. Podstawowe obiekty 3D, ich położenie, kolory i tekstura oraz przezroczystość. Skrót POV-Ray to rozwinięcie
Bardziej szczegół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ółowoScena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)
Zbiór trójwymiarowych danych wej$ciowych wykorzystywanych do wygenerowania obrazu wyj$ciowego 2D. Cieniowanie (ang. Shading) Rados"aw Mantiuk Wydzia" Informatyki Zachodniopomorski Uniwersytet Technologiczny
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ółowoMateusz Maślanka. Jak działa LIDAR Server?
Mateusz Maślanka plan prezentacji 1. Co to jest LiDAR server? 2. pierwsze kroki 3. przeglądanie danych 4. przekrój poprzeczny 5. Jak pobierać dane LiDAR? 2 Co to jest LiDAR server? geoportal dla danych
Bardziej szczegółowoJavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska
JavaFX - wprowadzenie JavaFX Wydział Informatyki i Zarządzania Politechnika Wrocławska Definicja JavaFX - wprowadzenie Definicja Historia JavaFX Script Rich Internet Application JavaFX - rodzina technologii
Bardziej szczegółowoglwindowpos2d 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ółowoTutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.
AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...
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ółowoTemat: 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ółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowo