OpenGL - maszyna stanu. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 7. Grupy atrybutów. Zmienne stanu.

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

Download "OpenGL - maszyna stanu. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 7. Grupy atrybutów. Zmienne stanu."

Transkrypt

1 OpenGL - maszyna stanu Oprogramowanie i wykorzystanie stacji roboczych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska OpenGL posiada zmienne przechowujace wiele wewnętrznych stanów i ustawień. Ta kolekcja jest nazywana Maszyna stanu OpenGL. Wiele zmiennych stanu jest dwustanowa: do właczenia stanu służy funkcja glenable. do wyłaczenia stanu służy funkcja gldisable. Przykład: // Włączenie oświetlenia glenable(gl_lighting);... // Wyłączenie oświetlenia gldisable(gl_lighting); 1/32 Wykład 7 p Zmienne stanu Grupy atrybutów Do odczytania wartości zmiennej stanu służa funkcje: glgetbooleanv(), glgetdoublev(), glgetfloatv(), glgetintegerv(), glgetpointerv() i glisenabled(). Do odczytywania niektórych zmiennych stanu służa specjalne funkcje, np. glgetlight*(), glgeterror(), czy glgetpolygonstipple(). Przykład: GLboolean islighting; glgetbooleanv(gl_lighting, &islighting); std::cout << (islighting == GL_TRUE? "true" : "false") << " ; "; GLfloat c[4]; glgetfloatv(gl_current_color, c); std::cout << c[0] << "," << c[1] << "," << c[2] << "," << c[3]; Przykładowy wynik działania: false ; 1,1,1,1 W bibliotece OpenGL poszczególne stany sa połaczone w grupy atrybutów: GL_ACCUM_BUFFER_BIT accum-buffer GL_ALL_ATTRIB_BITS GL_COLOR_BUFFER_BIT color-buffer GL_CURRENT_BIT current GL_DEPTH_BUFFER_BIT depth-buffer GL_ENABLE_BIT enable GL_EVAL_BIT eval GL_FOG_BIT fog GL_HINT_BIT hint GL_LIGHTING_BIT lighting GL_LINE_BIT line GL_LIST_BIT list GL_PIXEL_MODE_BIT pixel GL_POINT_BIT point GL_POLYGON_BIT polygon GL_POLYGON_STIPPLE_BIT polygon-stipple GL_SCISSOR_BIT scissor GL_STENCIL_BUFFER_BIT stencil-buffer GL_TEXTURE_BIT texture GL_TRANSFORM_BIT transform GL_VIEWPORT_BIT viewport 3/32 Wykład 7 p

2 Stos atrybutów Parametry rysowania punktów Do umieszczenia na stosie grupy atrybutów służy funkcja: void glpushattrib(glbitfield mask) Do zdjęcia ze stosu umieszczonych tam atrybutów służy funkcja: void glpopattrib(void) Przykład: glcolor3f(1.0f, 0.0f, 0.0f); drawline(0.0f, 0.0f, 2.0f, 0.0f); glpushattrib(gl_current_bit); glcolor3f(1.0f, 1.0f, 1.0f); drawline(0.0f, 0.0f, 2.0f, 2.0f); glpopattrib(); drawline(0.0f, 0.0f, 0.0f, 2.0f); Ustalenie rozmiaru punktu void glpointsize(glfloat size); size: przybliżona średnica (w pikselach) rysowanych punktów. Nie wszystkie średnice punktów sa dostępne: GLfloat sizes[2]; GLfloat step; // Obsługiwany zakres wielkości punktów // Obsługiwany przyrost wielkości punktów // Pobranie zakresu obsługiwanych wielkości i przyrostu wielkości glgetfloatv(gl_point_size_range, sizes); glgetfloatv(gl_point_size_granularity, &step); Rysowanie okragłych punktów (zamiast prostokatnych): glenable(gl_point_smooth); 5/32 Wykład 7 p Parametry rysowania linii (I) Parametry rysowania linii (II) Ustalenie grubości linii void gllinewidth(glfloat width); width: przybliżona grubość linii (w pikselach). Określenie dostępnych wartości: GLfloat sizes[2]; GLfloat step; // Obsługiwany zakres wielkości punktów // Obsługiwany przyrost wielkości punktów // Pobranie zakresu obsługiwanych wielkości i przyrostu wielkości glgetfloatv(gl_line_width_range, sizes); glgetfloatv(gl_line_width_granularity, &step); Rysowanie linii przerywanych: glenable(gl_line_stipple); Określenie wzoru używanego podczas rysowania linii: gllinestipple(glint factor, GLushort pattern); factor - Mnożnik określajacy ile pikseli linii odpowiada pojedynczemu bitowi wzorca przerywania [1-255]. pattern - 16 bitowy wzorzec przerywania (jako pierwszy implementowany jest bit najmniej znaczacy) 7/32 Wykład 7 p

3 Ograniczenia glbegin() - glend() Prymitywy Najważniejszymi informacjami dotyczacymi wierzchołków sa ich współrzędne określane poprzez funkcję glvertex*(). Ponadto można określić dodatkowe informacje dotyczace wierzchołków, np. kolor, wektor normalny, współrzędne mapowania tekstury, itp. Funkcjami jakie moga być użyte wewnatrz pary glbegin() i glend() sa: glvertex*(), glcolor*(), glindex*(), glnormal*(), gltexcoord*(), gledgeflag*(), glmaterial*(), glarrayelement(), glevalcoord*(), glevalpoint*(), glcalllist(), glcalllists(). GL_POLYGON - ograniczenia 9/32 Kierunek Wszystkie wielokaty musza być płaskie (wszystkie wierzchołki wielokata musza leżeć na jednej płaszczyźnie). zgodny z ruchem wskazówek zegara clockwise winding (CW) przeciwny do ruchu wskazówek zegara counterclockwise winding (CCW) Krawędzie wielokata nie moga się przecinać, sam zaś wielokat musi być wielokatem wypukłym (nie może posiadać żadnych wcięć) /32

4 Kierunek w OpenGL Tryby rysowania wielokatów Do określenia orientacji wielokatów w OpenGL służy funkcja: void glfrontface(glenum mode) mode przyjmuje wartości: GL_CW lub GL_CCW Przykład: // określenie, że wielokąty o kolejności krawędzi zgodnej // z ruchem wskazówek zegara są widoczne od frontu glfrontface(gl_cw); // określenie, że wielokąty o kolejności krawędzi przeciwnej // do ruchu wskazówek zegara są widoczne od frontu glfrontface(gl_ccw); Wielokaty nie musza być wypełnione bieżacym kolorem. Domyślnie wielokaty sa rysowane jednolitym kolorem, można jednak to zmienić nakazujac, aby były rysowane jedynie jako sylwetki lub nawet jako punkty (sa wtedy rysowane jedynie wierzchołki). glpolygonmode(glenum face, GLenum); face - Określa stronę wielokata, do której będzie się odnosić dane wywołanie funkcji: GL_FRONT - przednia strona, GL_BACK - tylna strona, GL_FRONT_AND_BACK - obie strony. mode - Określa nowy tryb rysowania. Domyślnym trybem jest GL_FILL dajacy wypełnione wielokaty. GL_LINE powoduje rysowanie jedynie sylwetek wielokatów (zewnętrznych krawędzi), zaś GL_POINT powoduje rysowanie jedynie punktów w wierzchołkach wielokata. Kierunek wielokatów - przykład 13/32 Wypełnianie wielokatów void drawtriangle(int x1, int y1, int x2, int y2, int x3, int y3) glbegin(gl_triangles); glvertex3i(x1, y1, 0); glvertex3i(x2, y2, 0); glvertex3i(x3, y3, 0); glend(); void MyGLWidget::paintGL() glclear(gl_color_buffer_bit); glloadidentity(); //glfrontface(gl_cw); glpolygonmode(gl_front, GL_FILL); glpolygonmode(gl_back, GL_LINE); Wypełnianie wielokatów glenable(gl_polygon_stipple); a następnie glpolygonstipple(const GLubyte *bitmap); bitmap - wzorzec bitowy o wymiarach 32x32 bity (Jedynki we wzorcu sa rysowane bieżacym kolorem wypełniania, zera nie sa rysowane). drawtriangle(0, 0, 1, 0, 0, 1); drawtriangle(1, 0, 0, 1, 1, 1); 15/32

5 Przesunięcie Skalowanie Przesunięcie jest operacja przemieszczajac a punkty o określona wartość w danym kierunku. Skalowanie powoduje zwiększenie lub zmniejszenie obiektu we wszystkich trzech osiach o zadane współczynniki. Do określenia przesunięcia należy określić wektor przesunięcia d. gltranslate[df](type dx, TYPE dy, TYPE dz); dx - współrzędna x wektora przesunięcia, dy - współrzędna y wektora przesunięcia, dz - współrzędna z wektora przesunięcia. Skalowanie nie musi być jednorodne. Można go użyć do ściśnięcia lub rozciagnięcia obiektu. Do skalowania służy funkcja: glscale[df](type x, TYPE y, TYPE z); Obrót 17/32 Transformacje - przykład (I) class MyGLWidget : public QGLWidget public: MyGLWidget(QWidget* parent = NULL, const char* name = NULL); Obrót jest dokonywany poprzez określenie kata o jaki maja zostać obrócone punkty oraz wektora wyznaczajacego oś obrotu. glrotate[df](type angle, TYPE x, TYPE y, TYPE z); angle - kat obrotu w stopniach, x, y, z - współczynniki wektora obrotu. Obrót jest wykonywany w kierunku przeciwnym do ruchu wskazówek zegara. 19/32 protected: void initializegl(); void paintgl(); void resizegl(int w, int h); void keypressevent(qkeyevent* event); GLfloat zroll; ;

6 Transformacje - przykład (II) Rzutowanie równoległe void MyGLWidget::paintGL() glclear(gl_color_buffer_bit); glloadidentity(); glrotatef(zroll, 0.0f, 0.0f, 1.0f); drawtriangle(-1, -1, 1, -1, 0, 1); Rzutowanie równoległe jest często używane w projektowaniu architektonicznym i programach CAD. W OpenGL do określenia rzutu równoległego służy funkcja glortho. glortho(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); void MyGLWidget::keyPressEvent(QKeyEvent* event) if (event->key() == Qt::Key_Left) zroll -= 3.0f; updategl(); if (event->key() == Qt::Key_Right) zroll += 3.0f; updategl(); 21/32 Rzutowanie perspektywiczne (I) Rzutowanie perspektywiczne (II) Ustalanie rzutu perspektywicznego przy użyciu funkcji glfrustum: glfrustum(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); Ustalanie rzutu perspektywicznego przy użyciu funkcji gluperspective: gluperspective(gldouble fovy, GLdouble aspect, GLdouble znear, GLdouble zfar); fovy - szerokość kata widzenia w pionie (w stopniach), aspect - używany do wyznaczenia konta widzenia w poziomie. 23/32

7 Pozycja kamery Zmiana pozycji kamery Do zmiany położenia kamery może zostać wykorzystana transformacja: gltranslatef(0.0, 0.0, -10.0); rysuj_kwiatek(); 25/32 Funkcja glulookat Definiowanie widoku (I) Funkcja glulookat umożliwia umieszczenie obserwatora (kamery) w pewnym punkcie w przestrzeni i określenie kierunku w którym obserwator patrzy (zwrócona jest kamera). void glulookat(gldouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz); Do ustalenia obszaru okna (widok), przeznaczonego do wykorzystania przez OpenGL służy funkcja glviewport glviewport(glint x, GLint y, GLsizei width, GLsizei height); eyex, eyey, eyez - punkt obserwacji (współrzędne kamery), centerx, centery, centerz - określa kierunek patrzenia (kierunek w którym zwrócona jest kamera), upx, upy, upz - określa kierunek do góry z miejsca patrzenia. 27/32

8 Definiowanie widoku (II) Bufor głębokości (I) void MyGLWidget::resizeGL( int w, int h ) if (h == 0) h = 1; if (w > h) glviewport((w - h)/2, 0, h, h); else glviewport(0, (h - w)/2, w, w); Gdy jest rysowany piksel przypisywana jest mu wartość (zwana wartościa z) określajac a odległość punktu tego piksel od obserwatora. Później gdy w tym samym miejscu ekranu ma zostać narysowany piksel, wartość z nowego piksel jest porównywana z wartościa z piksel już narysowanego. Jeżeli jest większa, oznacza to, że jego punkt jest bliżej obserwatora, więc stary piksel jest zasłaniany przez nowy. glmatrixmode( GL_PROJECTION ); glloadidentity(); if (ortho) glortho(-1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f); else gluperspective(60.0f, 1.0f, 0.1, 2.0); glmatrixmode(gl_modelview); Bufor głębokości (II) 29/32 Bufor głębokości - przykład Właczenie bufora głębokości: glenable(gl_depth_test); Bufor głębokości musi być wyzerowany za każdym razem gdy przystępujemy do narysowania sceny. // Wyczyszczenie okna i bufora głębokości glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glcolor3f(0.0f, 0.0f, 1.0f); glbegin(gl_quads); glvertex3f(0.1f, 0.1f, 0.1f); glvertex3f(0.5f, 0.5f, 0.1f); glend(); glcolor3f(1.0f, 0.0f, 0.0f); glbegin(gl_triangles); glvertex3f(0.5f, 0.0f, 0.0f); glvertex3f(0.0f, 0.5f, 0.0f); glend(); Bufor głębokości wyłaczony glvertex3f(0.1f, 0.5f, 0.1f); glvertex3f(0.5f, 0.1f, 0.1f); glvertex3f(0.0f, 0.0f, 0.0f); Bufor głębokości właczony 31/32

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 6

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

Bardziej szczegółowo

Rzutowanie DOROTA SMORAWA

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

Bardziej szczegółowo

Temat: Transformacje 3D

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

Bardziej szczegółowo

Elementarne obiekty geometryczne, bufory. Dorota Smorawa

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

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Janusz Ganczarski. OpenGL Definiowanie sceny 3D

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

Bardziej szczegółowo

Wprowadzenie do programowania z wykorzystaniem biblioteki OpenGL. Dorota Smorawa

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

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

OpenGL - charakterystyka

OpenGL - charakterystyka OpenGL - charakterystyka OpenGL jest interfejsem programowym aplikacji zestawem funkcji umożliwiających tworzenie interaktywnej grafiki 3D. Program oparty na OpenGL musi być pisany z zastosowaniem języka

Bardziej szczegółowo

Grafika 3D OpenGL część II

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

Bardziej szczegółowo

OpenGL. Silicon Graphics (IRIS GL stacje graficzne)

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

Bardziej szczegółowo

6 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

System graficzny. Potok graficzny 3D. Scena 3D Zbiór trójwymiarowych danych wejściowych wykorzystywanych do wygenerowania obrazu wyjściowego 2D.

System graficzny. Potok graficzny 3D. Scena 3D Zbiór trójwymiarowych danych wejściowych wykorzystywanych do wygenerowania obrazu wyjściowego 2D. System graficzny scena 3D algorytm graficzny obraz 2D Potok graficzny 3D Radosław Mantiuk Dane wejściowe Algorytm tworzący obraz wyjściowy na podstawie sceny 3D Dane wyjściowe Wydział Informatyki Zachodniopomorski

Bardziej szczegółowo

Studium podyplomowe. Programowanie w OpenGL. Michał Turek, AGH Kraków

Studium podyplomowe. Programowanie w OpenGL. Michał Turek, AGH Kraków Studium podyplomowe Programowanie w OpenGL Michał Turek, AGH Kraków Charakterystyka (I) OpenGL - (Open Graphics Library) Graficzna biblioteka 2D/3D Liczne porty biblioteki, w tym takŝe akcelerowane sprzętowo

Bardziej szczegółowo

Programowanie Procesorów Graficznych

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

Bardziej szczegółowo

Bufor koloru cd. Czyszczenie bufora koloru glclearcolor( )

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Janusz Ganczarski. OpenGL Pierwszy program

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

Bardziej szczegółowo

Materiały. Dorota Smorawa

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

Bardziej szczegółowo

8 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

OPENGL PRZEKSZTAŁCENIA GEOMETRYCZNE

OPENGL PRZEKSZTAŁCENIA GEOMETRYCZNE OPENGL PRZEKSZTAŁCENIA GEOMETRYCZNE SPIS TREŚCI 1. Przekształcenia geometryczne... 3 1.1. Obrót... 3 1.2. Skalowanie... 3 1.3. Przesunięcie... 3 1.4. Mnożenie macierzy... 4 1.5. Ładowanie macierzy... 4

Bardziej szczegółowo

Transformacje obiektów 3D

Transformacje obiektów 3D Synteza i obróbka obrazu Transformacje obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Lokalny układ współrzędnych Tworząc model obiektu, zapisujemy

Bardziej szczegółowo

Efekt lustra 3D w OpenGL z wykorzystaniem bufora szablonowego (stencil buffer)

Efekt lustra 3D w OpenGL z wykorzystaniem bufora szablonowego (stencil buffer) Efekt lustra 3D w OpenGL z wykorzystaniem bufora szablonowego (stencil buffer) Autor: Radosław Płoszajczak Spis treści I. Wstęp...2 II. Metoda rysująca przeźroczystą szybę...2 III. Bufor szablonowy (stencil

Bardziej szczegółowo

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

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

Bardziej szczegółowo

OpenGL model oświetlenia

OpenGL model oświetlenia Składowe światła OpenGL Światło otaczające (ambient) OpenGL model oświetlenia Nie pochodzi z żadnego określonego kierunku. Powoduje równomierne oświetlenie obiektów na wszystkich powierzchniach i wszystkich

Bardziej szczegółowo

Grafika komputerowa INSTRUKCJA DO LABORATORIUM 2: operacje przestrzenne oraz obsługa klawiatury i myszki

Grafika komputerowa INSTRUKCJA DO LABORATORIUM 2: operacje przestrzenne oraz obsługa klawiatury i myszki Grafika komputerowa INSTRUKCJA DO LABORATORIUM 2: operacje przestrzenne oraz obsługa klawiatury i myszki Strona 1 z 9 C E L Ć W I C Z E N I A Celem ćwiczenia jest zapoznanie się z podstawowymi operacjami

Bardziej szczegółowo

OpenGL transformacje przestrzenne

OpenGL transformacje przestrzenne OpenGL trnsformcje przestrzenne Kżdy zdefiniowny obiekt sceny, znim pojwi się n ekrnie monitor, poddwny jest trzem podstwowym trnsformcjom: Obserwcji Modelowni Projekcji Projekcj określ frgment przestrzeni,

Bardziej szczegółowo

Wykład 4. Rendering (1) Informacje podstawowe

Wykł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ółowo

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny

Laboratorium 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ółowo

1. Prymitywy graficzne

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

Bardziej szczegółowo

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

Teksturowanie. 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ółowo

Specyfikacja OpenGL Podstawy programowania grafiki komputerowej*

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

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

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

Bardziej szczegółowo

Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z

Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library OpenGL składa się z teoretycznego modelu grafiki 3D, zestawu typów i funkcji obsługujących różne cechy tego modelu. WjęzykuC: pliki

Bardziej szczegółowo

Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z

Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library OpenGL składa się z teoretycznego modelu grafiki 3D, zestawu typów i funkcji obsługujących różne cechy tego modelu. Funkcje OpenGL

Bardziej szczegółowo

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

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

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA 10: Antyaliasing

GRAFIKA 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ółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Rozdział 8 Wzory na macierze OpenGL

Rozdział 8 Wzory na macierze OpenGL Rozdział 8 Wzory na macierze OpenGL Jacek Matulewski, wersja 2014-03-07 Dodać YawPitchRoll???? 8->7 Dalszy rozwój aplikacji w trybie rdzennym nie jest już możliwy bez zaimplementowania operacji na macierzach.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Temat: Wprowadzenie do OpenGL i GLUT

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

Bardziej szczegółowo

Grafika trójwymiarowa

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Przekształcenia geometryczne. Dorota Smorawa

Przekształcenia geometryczne. Dorota Smorawa Przekształcenia geometryczne Dorota Smorawa Przekształcenia geometryczne Na poprzednich laboratoriach już dowiedzieliśmy się, na czym polegają podstawowe przekształcenia geometryczne. Trzy podstawowe przekształcenia

Bardziej szczegółowo

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski

Podstawy 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ółowo

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. #include #include #include #include

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

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

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Podstawy grafiki 3D Wstęp: W drugiej części przedstawione zostaną podstawowe mechanizmy

Bardziej szczegółowo

Tekstury. Dorota Smorawa

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

Bardziej szczegółowo

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie V. Biblioteka OpenGL - oświetlenie sceny

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie V. Biblioteka OpenGL - oświetlenie sceny Laboratorium Grafiki Komputerowej i Animacji Ćwiczenie V Biblioteka OpenGL - oświetlenie sceny Sławomir Samolej Rzeszów, 1999 1. Wstęp Większość tworzonych animacji w grafice komputerowej ma za zadanie

Bardziej szczegółowo

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Grafika Komputerowa, Informatyka, I Rok

Grafika Komputerowa, Informatyka, I Rok KAMERA W SCENIE 3D Pojęcie kamery. Implementacja interaktywnej kamery FPP. Test i bufor głębokości. Grafika Komputerowa, Informatyka, I Rok Kamera Jest to wirtualny koncept opisujący sposób oglądania sceny

Bardziej szczegółowo

dr inż. Jacek Dąbrowski, KSG

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

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL

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

Bardziej szczegółowo

Teksturowanie (ang. texture mapping)

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Grafika i komunikacja człowiek komputer Laboratorium. Część 2: Graphics

Grafika i komunikacja człowiek komputer Laboratorium. Część 2: Graphics UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel, dr hab. Bogdan Kwolek v1.01 2010 Grafika i komunikacja człowiek komputer Laboratorium Część 2: Graphics ZAGADNIENIA DO

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy 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

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

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

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

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

Bardziej szczegółowo

Multimedia i interfejsy. Ćwiczenie 5 HTML5

Multimedia i interfejsy. Ćwiczenie 5 HTML5 Multimedia i interfejsy Ćwiczenie 5 HTML5 Celem ćwiczenia jest poznanie nowych elementów wprowadzonych w HTML 5, do których należą m.in. video oraz canvas. Poniższy opis przedstawia sposób użycia tych

Bardziej szczegółowo

OpenGL Zaawansowana grafika komputerowa

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

Bardziej szczegółowo

Mieszanie kolorów. Dorota Smorawa

Mieszanie kolorów. Dorota Smorawa Mieszanie kolorów Dorota Smorawa Tworzenie efektu przezroczystości Biblioteka OpenGL umożliwia nam tworzenie bardzo ciekawych efektów związanych z przezroczystością i odbiciem. Aby zrealizować efekt przezroczystości

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 3

Programowanie telefonów z Windows Phone 7, cz. 3 Programowanie telefonów z Windows Phone 7, cz. 3 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej Jarosław Kuchta Podstawy Programowania Obiektowego Podstawy grafiki obiektowej Zagadnienia Grafika proceduralna grafika obiektowa Grafika WPF dualizm XAML C# Właściwości obiektów graficznych edycja właściwości

Bardziej szczegółowo

OpenGL teksturowanie

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza Plan wykładu Wykład 3 Rzutowanie prostokątne, widoki, przekroje, kłady 1. Rzutowanie prostokątne - geneza 2. Dwa sposoby wzajemnego położenia rzutni, obiektu i obserwatora, metoda europejska i amerykańska

Bardziej szczegółowo

Wprowadzenie do klas w C++ oraz biblioteki opengl

Wprowadzenie do klas w C++ oraz biblioteki opengl Wprowadzenie do klas w C++ oraz biblioteki opengl 1. Bibliotek opengl. W celu rozpoczęcia pracy z użyciem biblioteki opengl należy pobrać pliki archiwum glut- 3.7.6.zip ze strony: http://www.opengl.org/resources/libraries/glut/glut_downloads.php

Bardziej szczegółowo

Mapowanie sześcienne otoczenia (cubic environment mapping)

Mapowanie sześcienne otoczenia (cubic environment mapping) Mapowanie sześcienne otoczenia (cubic environment mapping) Mapowanie środowiska jest techniką pozwalającą na odwzorowanie otoczenia na powierzchni przedmiotu przy użyciu specjalnie spreparowanej tekstury.

Bardziej szczegółowo

Kurs programowania 2 - listy

Kurs programowania 2 - listy Kurs programowania 2 - listy Listy rozwijane (ComboBox) Listy rozwijane (rozwijalne) można tworzyć przy użyciu klasy ComboBox. W tabeli poniżej właściwości udostępniane przez tę kontrolkę. Najważniejsza

Bardziej szczegółowo

Gry Komputerowe - laboratorium 2. Kamera FPP / TPP. mgr inż. Michał Chwesiuk 1/11. Szczecin, r

Gry Komputerowe - laboratorium 2. Kamera FPP / TPP. mgr inż. Michał Chwesiuk 1/11. Szczecin, r Gry Komputerowe - laboratorium 2 FPP / TPP mgr inż. Michał Chwesiuk 1/11 a model 2/11 Stwórz nową klasę Player a model Do stworzonej klasy Player w pliku player.h dodaj trzy pola (trzeba dodać #include

Bardziej szczegółowo

Zegary. Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje.

Zegary. Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje. Zegary Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje. Zaczniemy od funkcji przetwarzania komunikatów: //procedura okna LRESULT CALLBACK WndProc(HWND hwnd, UINT

Bardziej szczegółowo

Wizualizacja danych z użyciem grafiki trójwymiarowej i mechanizmy interakcji z użytkownikiem w OpenGL

Wizualizacja danych z użyciem grafiki trójwymiarowej i mechanizmy interakcji z użytkownikiem w OpenGL Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Jakub Przewłocki nr albumu: 169422 Praca magisterska na kierunku fizyka techniczna Wizualizacja danych z użyciem grafiki

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Transformacje. dr Radosław Matusik. radmat

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

Bardziej szczegółowo

Trójwymiarowa grafika komputerowa rzutowanie

Trójwymiarowa grafika komputerowa rzutowanie Trójwymiarowa grafika komputerowa rzutowanie Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Rzutowanie w przestrzeni 3D etapy procesu rzutowania określenie rodzaju rzutu określenie

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych

GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych Grafika komputerowa i wizualizacja, Bioinformatyka S1, II Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy

Bardziej szczegółowo

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012 Rysowanie precyzyjne 7 W ćwiczeniu tym pokazane zostaną wybrane techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2012, między innymi wykorzystanie punktów charakterystycznych. Narysować

Bardziej szczegółowo

Rzuty aksonometryczne służą do poglądowego przedstawiania przedmiotów.

Rzuty aksonometryczne służą do poglądowego przedstawiania przedmiotów. RZUTOWANIE AKSONOMETRYCZNE Rzuty aksonometryczne służą do poglądowego przedstawiania przedmiotów. W metodzie aksonometrycznej rzutnią jest płaszczyzna dowolnie ustawiona względem trzech osi,, układu prostokątnego

Bardziej szczegółowo

Grafika komputerowa Tekstury

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

Bardziej szczegółowo

Komputerowe systemy na rynkach finansowych. wykład 5. MQL4 - funkcje operujące na obiektach wykresu

Komputerowe systemy na rynkach finansowych. wykład 5. MQL4 - funkcje operujące na obiektach wykresu Komputerowe systemy na rynkach finansowych wykład 5 MQL4 - funkcje operujące na obiektach wykresu ObjectCreate - funkcja tworzy nowy obiekt graficzny, określonego typu oraz nadaje mu nazwę i przyporządkowuje

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Mechanizm sygnałów i slotów. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4. Sygnały i sloty - definicja klasy

Mechanizm sygnałów i slotów. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4. Sygnały i sloty - definicja klasy Mechanizm sygnałów i slotów Oprogramowanie i wykorzystanie stacji roboczych Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Mechanizm sygnałów

Bardziej szczegółowo

3.3. dwie płaszczyzny równoległe do siebie α β Dwie płaszczyzny równoległe do siebie mają ślady równoległe do siebie

3.3. dwie płaszczyzny równoległe do siebie α β Dwie płaszczyzny równoległe do siebie mają ślady równoległe do siebie Widoczność A. W rzutowaniu europejskim zakłada się, że przedmiot obserwowany znajduje się między obserwatorem a rzutnią, a w amerykańskim rzutnia rozdziela przedmiot o oko obserwatora. B. Kierunek patrzenia

Bardziej szczegółowo

Algorytmy grafiki rastrowej. Mirosław Głowacki Wykład z Grafiki Komputerowej

Algorytmy grafiki rastrowej. Mirosław Głowacki Wykład z Grafiki Komputerowej Algorytmy grafiki rastrowej Mirosław Głowacki Wykład z Grafiki Komputerowej Wypełnianie prymitywów Mirosław Głowacki Wykład z Grafiki Komputerowej Wypełnianie prymitywów Zadanie wypełniania prymitywów

Bardziej szczegółowo

Szybkie tworzenie grafiki w GcIde

Szybkie tworzenie grafiki w GcIde Szybkie tworzenie grafiki w GcIde Opracował: Ryszard Olchawa Poniższy opis dotyczy aplikacji okienkowej w systemie Windows lub Linux bazującej na obiektowej bibliotece rofrm stworzonej w środowisku GcIde.

Bardziej szczegółowo