OpenGL. Biblioteka procedur graficznych. GLU = OpenGL Utility Library. GLX = OpenGL Extension to the X Window System [tm]
|
|
- Sabina Milewska
- 6 lat temu
- Przeglądów:
Transkrypt
1 OpenGL Biblioteka procedur graficnch środowiko Klient Serwer aplikacja = klient erwer moŝe bć na innm komputere tpow erwer = tem operacjn tpu window grafika podtawowego poiomu elementarne obiekt (prmitw = primitive) GLU = OpenGL Utilit Librar aawanowane procedur graficne GLX = OpenGL Etenion to the X Window Stem [tm] komunikacja temem X Window GLUT = OpenGL Utilit Toolkit komunikacja dowolnm temem tpu window OpenGLUT now projekt opart m.in. na GLUT 37 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
2 GLUT Graphic Librar Utilit Toolkit Biblioteka funkcji do komunikacji temem window +... Stem okien (window) jet terowan dareniami (event) #include <GL/openglut.h>... int main(int argc, char *argv[]) { glutinit(&argc, argv); glutinitwindowsie(windw, windh); glutinitwindowpoition(,); //glutinitdiplamode(glut_rgb GLUT_SINGLE); wbiera argv opcje GLUTa w pikelach Na ielono opcjonalne glutcreatewindow("title"); tu OpenGL tandard } //m_init(); glutdiplafunc(proc_paint); glutkeboardfunc(proc_ke); glutmouefunc(proc_moue); glutmainloop(); return EXIT_SUCCESS; funkcje obługi dareń event handler pętla obługi dareń event loop 38 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
3 Model operacjn OpenGL Lita poleceń Dipla Lit polecenia Command Oblicenia Evaluator Operacje na wierchołkach i kontrukcja prmitwów Per-verte Operation and Primitive Aembl Pamięć tektur Teture Memor Ratrowanie Rateriation Pamięć ratra Frame buffer Operacje na pikelach Piel Operation 39 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
4 Elementarne obiekt graficne prmitw Figur geometrcne ą tworone wierchołków: glbegin(glenum mode ); glverte...(,,...); glverte...(,,...);... glevalcoord...(t,...); glend(); mode GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, GL_POLYGON 4 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
5 Prkład void Paint(void) { glclearcolor(,,,); glclear(gl_color_buffer_bit); glcolor3d(,,.5); gllinewidth(); glbegin(gl_line_loop); glverte2d(, ); glverte2d(.4, ); glverte2d(-.,.7); glend(); glfluh(); } 4 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
6 Prkład 2 void Paint(void) { glclearcolor(,,,); glclear(gl_color_buffer_bit); glbegin(gl_triangles); glcolor3d(,,); glverte2d(, ); glcolor3d(,,); glverte2d(.4, ); glcolor3d(,,); glverte2d(-.,.7); glend(); glfluh(); } glshademodel(gl_smooth); Model cieniowania Shading model glshademodel(gl_flat); 42 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
7 Układ wpółrędnch Układ wpółrędnch wiąan oberwatorem w punkcie (,,). ee coordinate M Aktualn układ wpółrędnch, w którm podajem wpółrędne wierchołków Pocątkowo M = I 43 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
8 W. Słomińki, "Wtęp do grafiki komputerowej" Od wp. uŝtkownika do wp. urądenia M P [ ] 3, / / / w w w w w Wpółrędne obiektów, jak w glverte4d(,,,w ); glverte3d(,, ); w = glverte2d(, ); =, w = V
9 Rut protopadł = -n = -f (l, b, -n) (r, t, -n) f > n void glortho( GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f ); gluortho2d(l, r, b, t ) = glortho(l, r, b, t, -, ); Domślnie: gluortho2d(-,,-,); 45 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
10 Perpektwa = -n = -f (l, b, -n) (r, t, -n) f > n > void glfrutum( GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f ); (r-l )/(t-b) tutaj: l = -r, b = -t void gluperpective( GLdouble ang, GLdouble apect, GLdouble n, GLdouble f ); 46 [, 8] W. Słomińki, "Wtęp do grafiki komputerowej" - 26
11 W. Słomińki, "Wtęp do grafiki komputerowej" Maciere projekcji glfrutum(l, r, b, t, n, f ); = n f fn n f n f b t b t b t n l r l r l r n P glortho(l, r, b, t, n, f ); = n f n f n f b t b t b t l r l r l r P
12 Viewport (W, H) Okno utworone pre tem window (, ) (, ) (+ width, + height) V glviewport( GLint, GLint, GLiei width, GLiei height ); - - Domślnie: glviewport(,,w,h); Wpółrędne normaliowane 48 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
13 Zmiana połoŝenia oberwatora M O r + U r O r C r void glulookat( GLdouble e, GLdouble e, GLdouble e, GLdouble c, GLdouble c, GLdouble c, GLdouble U, GLdouble U, GLdouble U ) ; O r C r U r Obrót i Tranlacja M Kierunek nowej oi Y 49 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
14 W. Słomińki, "Wtęp do grafiki komputerowej" Viewport Clipping Tlko ą rowane. Perpective diviion Modelview & Projection Podumowanie tranformacji = w PM w = / / / ˆ ˆ ˆ w w w w [ ] 3, ˆ ˆ ˆ h w 2 ˆ 2 ˆ + + = + + = = ˆ ˆ V
15 Krwa Béier topnia N r N N N = k k k k N k ( t) = B ( P, K, P ; t) = t ( t) P, t [,] N. Definicja odworowania: glmapf(gl_map_vertex_3,.,., Pdit, N+, P); glenable(gl_map_vertex_3); Punkt kontrolne: float P[] = {,,,...,,,...}; 2. Rowanie krwej int N_SEGS = 64; glbegin(gl_line_strip); for(i = ; i <= N_SEGS; i++ ) glevalcoordf((glfloat)i/n_segs); glend(); Pdit = & - & = ilość floatów na jeden punkt 5 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
16 Prkład 3 52 tatic void render(void) { int i, NSEGS=64; glclearcolor(,,,); glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glmapf( GL_MAP_VERTEX_3,.,., 3, 4, P); glenable( GL_MAP_VERTEX_3 ); gllinewidth(2); glcolor3d(,,); glbegin(gl_line_strip); for(i=; i<=nsegs; i++) glevalcoordf((glfloat)i/nsegs); glend(); glpointsie(6); glcolor3d(,,); glbegin(gl_points); for(i = ; i < 4; i++) glverte3fv(p); glend(); gllinewidth(); glcolor3d(,,); glbegin( GL_LINES ); for(i = ; i < 4; i++) glverte3fv(p); glend(); glutswapbuffer(); } W. Słomińki, "Wtęp do grafiki komputerowej" - 26
17 NURBS topnia N. Definicja odworowania: GLUnurbObj* nobj = glunewnurbrenderer(); glunurbpropert(nobj, GLU_SAMPLING_TOLERANCE, 5.); Punkt kontrolne: GLfloat P[] = {,,,...,,,...}; Węł: GLfloat knot[] = {,..., }; Nknot = NPt + N Rowanie krwej glubegincurve(nobj); glunurbcurve(nobj, Nknot, knot, Pdit, P, NPt, GL_MAP_VERTEX_3); gluendcurve(nobj); 3. Zwalnianie pamięci gludeletenurbrenderer(nobj); Pdit = & - & = ilość floatów na jeden punkt W. Słomińki, "Wtęp do grafiki komputerowej" - 26
18 Prkład 4 tatic void render(void) { int i;... GLUnurbObj* nobj = glunewnurbrenderer(); glunurbpropert(nobj, GLU_SAMPLING_TOLERANCE, 5.); GLfloat knot[8] = {,,,,,,,}; gllinewidth(4); glcolor3d(,,); glubegincurve(nobj); glunurbcurve(nobj, NctrlPoint+Degree+, knot+degree-, 3, P, NctrlPoint, GL_MAP_VERTEX_3); gluendcurve(nobj); gludeletenurbrenderer(nobj);... glfluh(); } 54 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
19 Tektur (Teture) Tektura to prepi mówiąc, jak wpełniać kolorem wbrane obar. Prkład: Zaada : wpełnij obar kolorem od (,,) do (,,) W. Słomińki, "Wtęp do grafiki komputerowej" - 26
20 Tektura -wmiarowa Odworowanie: [,] { r( ), g( ), b( ), α( ),...} f() Prkład (c.d.) r = g = b = f, α = Obraek tektur Mapowanie tektur (teture mapping) W. Słomińki, "Wtęp do grafiki komputerowej" - 26
21 Mapowanie tektur (teture mapping) Prpianie kaŝdemu punktowi obaru konkretnej wartości wpółrędnej tektur,. Wierchołek k : wpółrędne pretrenne ( k, k ), wpółrędne tektur ( k ) = = 2 =.9 pośrednie wartości : interpolacja liniowa pośrednie wartości : interpolacja liniowa Podtawowa metoda to interpolacja liniowa. Tak jet w OpenGL. =.2 =.9 57 = cont. W. Słomińki, "Wtęp do grafiki komputerowej" - 26
22 Mapowanie tektur (2) To jet krwa Beier. Pośrednie wartości = parametrowi krwej Fragment kodu OpenGL: int i, NSeg=64; float ; glbegin(gl_line_strip); for(i = ; i <= NSeg; i++) { = (GLfloat)i/NSeg; gltecoordf(); glevalcoordf(); } glend(); Utala wartość, jaka będie prpiana kaŝdemu nowemu wierchołkowi Twor now wierchołek o wpółrędnch odp. wartości parametru =. 58 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
23 Mapowanie tektur (3) Wartości poa prediałem [, ]. Pred wliceniem wartości tektur ą amieniane na [, } 2 = 5 2 = 5 = - = 5 = - = = = = < > [, ] = 5 [,) wrap = GL_CLAMP wrap = GL_REPEAT glteparameterf(gl_texture_d, GL_TEXTURE_WRAP_S, wrap); 59 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
24 Obraek tektur (teture image) f() r = g = b = f, α = Obraek tektur pikel W kaŝdm piklu RGBA np. 64 pikle To definiuje wór tektur, tak jak obraek piklow opiuje obra analogow Stąd inna definicja: Tektur, to obraki piklowe, którch pobieram informację, jak wpełniać kolorem wbrane obar. 6 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
25 Tektur 2- i więcej wmiarowe t glteimaged(...) glteimage2d(...) W werji OpenGL.* tektur - i 2-wmiarowe. W werji 2. takŝe 3-wmiarowe (, t, r) W ogólnm prpadku wierchołek k : wpółrędne pretrenne ( k, k, k, w k ), wpółrędne tektur ( k, t k, r k, q k ) 6 W. Słomińki, "Wtęp do grafiki komputerowej" - 26
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ółowoZatem 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ółowoElementarne 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ół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ół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ółowoOpenGL - 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ółowoWprowadzenie 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ółowoProsty 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ół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ółowoStudium 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ół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ół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ółowoJanusz 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ółowoProgramowanie Równoległe wykład, 21.01.2013. CUDA, przykłady praktyczne 1. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe wykład, 21.01.2013 CUDA, przykłady praktyczne 1 Maciej Matyka Instytut Fizyki Teoretycznej Motywacja l CPU vs GPU (anims) Plan CUDA w praktyce Wykład 1: CUDA w praktyce l aplikacja
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ółowoBufor 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ółowoWizualizacja 3D. dr inż. Marcin Gabryel
Wizualizacja 3D dr inż. Marcin Gabryel Modele braw CMYK (Cyan, Magenta, Yellow, black) RGB (Red, Green, Blue) HSV (Hue, Saturation, Value) RGB Model polega na sumowaniu sygnałów w poszczególnych kanałach.
Bardziej szczegółowoGrafika 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ółowo1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych
Instrukcja laboratoryjna 9 Grafika komputerowa 3D Temat: Manipulowanie przestrzenią Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Układ
Bardziej szczegółowoWprowadzenie 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ółowoOpenGL przezroczystość
OpenGL przezroczystość W standardzie OpenGL efekty przezroczystości uzyskuje się poprzez zezwolenie na łączenie kolorów: Kolor piksela tworzy się na podstawie kolorów obiektu przesłanianego i przesłaniającego
Bardziej szczegółowoOpenGL 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Ćwiczenie nr 1 Szkielet aplikacji wykorzystującej bibliotekę OpenGL dla środowiska Windows z wykorzystaniem Visual C++
Terminy oddawania ćwiczeń: Ćwiczenie nr 1 Szkielet aplikacji wykorzystującej bibliotekę OpenGL dla środowiska Windows z wykorzystaniem Visual C++ Podstawowe zasady: Wszystkie wątki wykorzystują jeden OpenGL
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ółowoOpenGL : Prymitywy, obsługa klawiatury
OpenGL :, obsługa klawiatury mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/23 w OpenGL 2/23 Prymityw - Points (GL_POINTS) 3/23 Prymityw - Lines (GL_LINES) 4/23 Prymityw - Lines
Bardziej szczegółowoLaboratorium grafiki komputerowej i animacji. Ćwiczenie III - Biblioteka OpenGL - wprowadzenie, obiekty trójwymiarowe: punkty, linie, wielokąty
Laboratorium grafiki komputerowej i animacji Ćwicenie III - Biblioteka OpenGL - wprowadenie, obiekty trójwymiarowe: punkty, linie, wielokąty Prygotowanie do ćwicenia: 1. Zaponać się ogólną charakterystyką
Bardziej szczegółowoGrafika trójwymiarowa
Strona 1 Grafika 3D w systemie Android Wprowadzenie do OpenGL ES Podstawy rysowania Rzutowanie i kamera Klasa GLSurfaceView Algorytm rysowania Tekstury Strona 2 Grafika 3D w systemie Android W komputerach,
Bardziej szczegółowoOpenGL. 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ółowoOprogramowanie 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ół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ół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ół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ół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ółowoOpenGL - maszyna stanu. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 7. Grupy atrybutów. Zmienne stanu.
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
Bardziej szczegółowoZaawansowane programowanie w C++
Zaawansowane programowanie w C++ Micha l Tanaś, PhD Adam Mickiewicz University, Faculty of Physics http://www.amu.edu.pl/~mtanas Michal.Tanas@amu.edu.pl Wykonanie klasycznego programu System operacyjny
Bardziej szczegółowoRzutowanie 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ół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ółowoPRZEKSZTAŁCENIA W PRZESTRZENI 3D czyli matematyczny zawrót głowy. Część2 :Rodzaje układów współrzędnych. Obroty i Skalowanie
PRZEKSZTAŁCENIA W PRZESTRZENI 3D cli matematcn awrót głow Cęść :Rodaje układów wpółrędnch. Obrot i Skalowanie Witam wtkich agorałch grafików. Tak jak piałem w popredniej cęści nach matematcnch roważań,
Bardziej szczegółowoProgramowanie, część III
9 kwietnia 2010 Biblioteki i podsystemy graficzne Biblioteki graficzne (ang. graphics library) Są potrzebne, aby można było programować grafikę w C++, ponieważ (niestety) we współczesnych systemach komputerowych
Bardziej szczegółowowykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Bardziej szczegółowoWstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
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ółowoProcesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011
Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 9 października 2011 Plan zajęć 1 Procesy w systemie Linux proces procesy macierzyste i potomne procesy zombie i sieroty 2 Funkcje systemowe pobieranie
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoProgramowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1
Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Wprowadzenie Procesory graficzne GPU (Graphics Processing Units) stosowane są w kartach graficznych do przetwarzania grafiki komputerowej
Bardziej szczegółowoGrafika 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ół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ółowoOpenGL 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ół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. 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ół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ółowoOpenGL 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ółowoModelowanie komputerowe dynamiki płynów Maciej Matyka Instytut Fizyki Teoretycznej
Modelowanie komputerowe dynamiki płynów 2011-12-05 Maciej Matyka Instytut Fizyki Teoretycznej Hydrodynamika http://www.realflow.com/ Konkursy na wydziale fizyki Lata 1999-2011 Oprogramowanie popularyzujące
Bardziej szczegółowoWykł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ółowoOpenGL 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// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
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ółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoMobilne aplikacje multimedialne. OpenGL
Mobilne aplikacje multimedialne OpenGL Marek Kulawiak Katedra Systemów Geoinformatycznych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Open Graphics Library API do tworzenia
Bardziej szczegółowoSystem 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ółowoOpenGL 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ółowoI - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Bardziej szczegółowoLaboratorium Grafiki Komputerowej i Animacji. Ćwiczenie III. Biblioteka OpenGL - wprowadzenie, obiekty trójwymiarowe: punkty, linie, wielokąty
Laboratorium Grafiki Komputerowej i Animacji Ćwiczenie III Biblioteka OpenGL - wprowadzenie, obiekty trójwymiarowe: punkty, linie, wielokąty Sławomir Samolej Rzeszów, 1999 1. Wprowadzenie OpenGL nie jest
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
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ółowoProgramowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury
Bardziej szczegółowoArgumenty wywołania programu, operacje na plikach
Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują
Bardziej szczegółowoPotok graficzny i shadery. Hubert Rutkowski
Potok graficzny i shadery Hubert Rutkowski 1. Coś o mnie Zakład Technologii Gier Uniwerytetu Jagiellońskiego 2. Potok graficzny jak w OpenGL Cry Engine 3 (zródło: CryTek) Vertex specification
Bardziej szczegółowoISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
Bardziej szczegółowoBiblioteka OpenGL: Wprowadzenie
Biblioteka OpenGL: Wprowadzenie Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie OpenGL - Koncepcja i architektura Aplikacja odwołuje się poprzez funkcje API
Bardziej szczegółowoLaboratorium 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ółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowox szereg(x)
Wstęp do Programowania, laboratorium 09 Zadanie 1. Zrobić program liczący wartość funkcji sin(x) przy pomocy rozwinięcia w szereg. Zakres wartości x (od, do) oraz liczba przedziałów podawane będą jako
Bardziej szczegółowoWykł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ółowoProgramowanie w środowiskach RAD Qt i C++
Programowanie w środowiskach RAD Qt i C++ Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wprowadzenie do programowania w języku C++ z wykorzystaniem biblioteki Qt Qt i QtCreator Aktualnie
Bardziej szczegółowoProgramowanie II. Lista 3. Modyfikatory dostępu plik TKLientBanku.h
Programowanie II Lista 3 Modyfikatory dostępu plik TKLientBanku.h plik z funkcją main Przyjaźń Dziedziczenie Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to
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ół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ółowoLaboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:
Zakres laboratorium: definiowanie struktur terminologia obiektowa definiowanie klas funkcje składowe klas programy złożone z wielu plików zadania laboratoryjne Laboratorium nr 12 Temat: Struktury, klasy.
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ółowoGRUPY SYMETRII Symetria kryształu
GRUPY SYMETRII Smetria krstału Zamknięte (punktowe) operacje smetrii (minimum jeden punkt prestreni nie porusa się wskutek astosowania amkniętej operacji smetrii): Obrot i obrot inwersjne; Inwersja (smetria
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ółowoGrafika Komputerowa, Informatyka, I Rok
SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Wstęp do programowania grafiki 3D z użyciem OpenGL. Transformacje geometryczne. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D
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ółowoSkładnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo
Bardziej szczegółowoProgramowanie warstwy wizualnej gry
Programowanie warstwy wizualnej gry Krzysztof Gdawiec Instytut Informatyki Uniwersytet Śląski OpenGL (Open Graphics Library) jest wieloplatformową biblioteką pozwalającą na niskopoziomowy dostęp do karty
Bardziej szczegółowoInformatyka. Wy-08 Klasy. mgr inż. Krzysztof Kołodziejczyk
Informatyka Wy-08 Klasy mgr inż. Krzysztof Kołodziejczyk krzysztof.m.kolodziejczyk@pwr.edu.pl 17.04.2019 Strona kursu http://w12.pwr.wroc.pl/inf/ Konsultacje Piątek 13:00 C2/111a Konspekt 1 Struktura a
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ółowoProgramowanie obiektowe i zdarzeniowe
Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("
Bardziej szczegółowoBartosz Bazyluk DEFINIOWANIE GEOMETRII Sposoby opisu geometrii brył w OpenGL. Grafika Komputerowa, Informatyka, I Rok
Bartos Baluk DEFINIOWANIE GEOMETRII Sposob opisu geometrii brł w OpenGL. http://baluk.net/psb Grafika Komputerowa, Informatka, I Rok Renderowanie geometrii Wierchołki Pretwaranie wierchołków Łącenie w
Bardziej szczegółowoSYSTEMY CZASU RZECZYWISTEGO - VxWorks
WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()
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ółowoPROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę
Bardziej szczegółowoPrzekształ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ółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoPochodna kierunkowa i gradient Równania parametryczne prostej przechodzącej przez punkt i skierowanej wzdłuż jednostkowego wektora mają postać:
ochodna kierunkowa i gradient Równania parametrcne prostej prechodącej pre punkt i skierowanej wdłuż jednostkowego wektora mają postać: Oblicam pochodną kierunkową u ( u, u ) 1 + su + su 1 (, ) d d d ˆ
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ółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowo