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

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

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

Transkrypt

1 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 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ą. i Qt

2 w Qt 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: i Qt

3 w Qt 1 Ogólna charakterystyka 2 w Qt 3 Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia 4 i Qt

4 Geneza w Qt Ogólna charakterystyka (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 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. W połowie 2006 komitet standaryzacyjny ARB zdecydował o wcieleniu ARB do Khronos. Od tego czasu Khronos nadzoruje rozwój i standaryzację. i Qt

5 Khronos w Qt 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 (od roku 2006), ES (ang. for Embedded Systems) przenośna wersja 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.) i Qt

6 Cechy w Qt 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). nie jest związany z żadną konkretną platformą sprzętową. W tym sensie jest to biblioteka przenośna. 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. i Qt

7 w Qt Cecha działania 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, i Qt

8 w Qt Ogólna charakterystyka Struktura aplikacji wykorzystującej kernel and video games.svg i Qt

9 w Qt Uzupełnienia biblioteki Ogólna charakterystyka GLU Graphics System Utility Library Zawiera szereg dodatkowych narzędzi, w tym do obsługi macierzy, odwzorowania tekstur, kafelkowania wielokątów, powierzchni drugiego stopnia oraz krzywych i powierzchni NURBS. NURBS Non-Uniform Rational B-Spline Jest to rodzaj modelu matematycznego stosowany w grafice komputerowej do generowania i reprezentowania krzywych i powierzchni. Pozwala na dużą eleastyczność zarówno na poziomie opisu analitycznego, jak też modelowania kształtów. Powierzchnie modelowane są z wykorzystaniem krzywych, których kształt określany jest za pomocą punktów kontrolnych tworzących wielobok kontrolny. GLUT The Utility Toolkit Niezależny od platformy toolkit umożliwiający pisanie programów wykorzystujących. Implementuje prosty interfejs aplikacji dla okienkowych programów. Przewidziany jest do pisania małych lub średnich aplikacji. i Qt

10 w Qt Przykładowe elementy API Ogólna charakterystyka ( glvertex3f(...); glvertex3fv(...); glvertex2i(...);... i Qt

11 w Qt Przykładowe elementy API Ogólna charakterystyka ( glvertex3f(...); glvertex3fv(...); glvertex2i(...);... i Qt

12 Konwencje nazw w Qt Ogólna charakterystyka glvertex3f(...); glvertex3fv(...); glvertex2i(...);... typ Nazwa b s i f d ub us ui v ([args,] T arg1,..., T argn [,args]) typ wartość zwracana przez funkcje Nazwa nazwa funkcji poprzedzona przedrostkiem gl lub glu dla funkcji z biblioteki GLU 1, 2, 3, 4 ilość argumentów funkcji b argumenty typu GLbyte s argumenty typu GLshort i argumenty typu GLint f argumenty typu GLfloat d argumenty typu GLdouble ub argumenty typu GLubyte us argumenty typu GLushort ui argumenty typu GLuint v argument funkcji stanowi tablica wartości, ilość argumentów nie jest jawnie określona T arg1,..., T argn argumenty funkcji i Qt

13 Typy w Qt Ogólna charakterystyka typ Nazwa b s i f d ub us ui v ([args,] T arg1,..., T argn [,args]) Typ Min. ilość bitów Znaczenie GLboolean 1 typ logiczny GLbyte 8 liczba całkowita ze znakiem GLubyte 8 liczba całkowita bez znaku GLchar 8 ciąg znaków tekstowych GLshort 16 liczba całkowita ze znakiem GLushort 16 liczba całkowita bez znaku GLint 32 liczba całkowita ze znakiem GLuint 32 liczba całkowita bez znaku GLsizei 32 nieujemna liczba całkowita GLenum 32 typ wyliczeniowy całkowity GLintptr ptrbits wskaźnik na liczbę całowitą ze znakiem GLsizeiptr ptrbits wskaźnik na nieujemna liczbę całkowita GLbitfield 32 pole bitowe GLfloat 32 liczba zmiennoprzecinkowa GLclampf 32 liczba zmiennoprzecinkowa z przedziału [0, 1] GLdouble 64 liczba zmiennoprzecinkowa GLclampd 64 liczba zmiennoprzecinkowa z przedziału [0, 1] i Qt

14 w Qt Wsparcie Qt dla Klasy Qt wspierające QGLWidget (stopniowo wycofywana) QWidget QWindow (dużo, dużo innych klas) Korzystanie z klas renderejuących grafikę Dziedziczenie i reimplementacja metod wirtualnych: initializegl() resizegl() paintgl() i Qt

15 libqglviewer w Qt Klasy Qt wspierające QGLViewer (oparta jest na QViewer) Korzystanie z klas QGLViewer Dziedziczenie i reimplementacja metod wirtualnych: initializegl() wywoływana przed pierwszym rysowaniem init() wywoływana przed pierwszym rysowaniem, po initializegl() resizegl() draw() współrzędne wierzchołków we współrzędnych świata, nie modyfikujemy macierzy projekcji paintgl() domyślna definicja metody pwoduje wywołanie meted klasy libqglviewer i Qt

16 libqglviewer w Qt Korzystanie z klas QGLViewer Dziedziczenie i reimplementacja metod wirtualnych: draw() współrzędne wierzchołków we współrzędnych świata, nie modyfikujemy macierzy projekcji paintgl() domyślna definicja metody pwoduje wywołanie meted klasy libqglviewer predraw() (lub predrawstereo() jeżeli wykorzystuje się displaysinstereo()) umieszcza kamerę we współrzędnych świata draw() (lub fastdraw() gdy dokonuje się przemieszczenia kamery) ta metoda powinna być redefinowana postdraw() wyświetla dodatkowe elementy graficzne np. osie układu współrzędnego i Qt

17 w Qt Ważniejsze funkcje z void glbegin(glenum mode) Tworzy elementarne obiekty na postawie wierzchołków zawartych między glbegin() i glend(). Wartości typu wyliczeniowego: GL POINTS, GL LINES, GL LINE STRIP, GL LINE LOOP, GL TRIANGLES, GL TRIANGLE STRIP, GL TRIANGLE FAN, GL QUADS, GL QUAD STRIP, and GL POLYGON. i Qt

18 w Qt 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. i Qt

19 Model oświetlenia w Qt 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 je jednego określone kierunku. Po odbiciu od powierzchni ma tendencję rozchodzić się, w kierunku jednym kierunku. Powierzchnie mogą mieć różne współczynnika dla tego komponent. 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ść. i Qt

20 Spektrum w Qt 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. i Qt

21 Kolory materiałów w Qt Ogólna charakterystyka źródeł światła Tworzenie i dodawanie oświetlenia Materiały mogą mieć różne komponenty spektralne dla 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 ) i Qt

22 Tworzenie oświetlenia w Qt 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. i Qt

23 w Qt 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 ( ) ; } i Qt

24 w Qt 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. i Qt

25 w Qt 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 Utility Toolkit Niezależny od platformy toolkit umożliwiający pisanie programów wykorzystujących. Implementuje prosty interfejs aplikacji dla okienkowych programów. Przewidziany jest do pisania małych lub średnich aplikacji. i Qt

26 w Qt 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. i Qt

27 w Qt 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 do wykonania obliczeń oświetlenia. i Qt

28 w Qt 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. i Qt

29 w Qt 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 Wizualizacja dla frontu, a danych źródło sensorycznych znajduje się w nieskończoności. i Qt

30 w Qt 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. i Qt

31 w Qt 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. i Qt

32 w Qt 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 i Qt

33 w Qt 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. i Qt

34 w Qt 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 ) ; i Qt

35 w Qt 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 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. i Qt

36 Tworzenie powiązań w Qt 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. i Qt

37 Mapowanie tekstury w Qt 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. i Qt

38 Mapowanie tekstury w Qt 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ą 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. i Qt

39 w Qt 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 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 ) ; i Qt

40 w Qt 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 i Qt

41 w Qt Koniec prezentacji Dziękuję za uwagę i Qt

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

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

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

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

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

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

Ś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

Qt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska

Qt 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ół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

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

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

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

Szablony funkcji i szablony klas

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

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import Fraction.h #import <stdio.h> #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

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

Qt sygnały i designer

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

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

Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej. Marek Gulanowski

Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej. Marek Gulanowski Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej Marek Gulanowski 9 czerwca 2010 Spis treści 1 Wstęp 1 1.1 Koncepcja................................ 1 1.2 Forma realizacji.............................

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

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

OpenGL Światło (cieniowanie)

OpenGL Światło (cieniowanie) OpenGL Światło (cieniowanie) 1. Oświetlenie włączanie/wyłączanie glenable(gl_lighting); - włączenie mechanizmu oświetlenia gldisable(gl_lighting); - wyłączenie mechanizmu oświetlenia glenable(gl_light0);

Bardziej szczegółowo

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

Oświetlenie obiektów 3D

Oś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ółowo

Przestrzenie nazw. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

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

Zasoby, pliki graficzne

Zasoby, 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ółowo

Czujniki PSD i dalmierze triangulacyjne

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

Przykłady oprogramowania wykorzystujacego Qt

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

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Oś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ółowo

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Czym są tekstury? Tekstury są tablicowymi strukturami danych o wymiarze od 1 do 3, których elementami są tzw. teksele.

Bardziej szczegółowo

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

Praca z aplikacją designer

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

Weryfikatory, zasoby graficzne

Weryfikatory, 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ółowo

OpenGL Światło (cieniowanie)

OpenGL Światło (cieniowanie) OpenGL Światło (cieniowanie) 1. Oświetlenie włączanie/wyłączanie glenable(gl_lighting); - włączenie mechanizmu oświetlenia gldisable(gl_lighting); - wyłączenie mechanizmu oświetlenia glenable(gl_light0);

Bardziej szczegółowo

Czujniki PSD i dalmierze triangulacyjne

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

Schemat konstrukcja pliku Makefile

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

Wprowadzenie do QT OpenGL

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

Wprowadzenie do szablonów klas

Wprowadzenie 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ół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

2 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

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

Bardziej szczegółowo

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

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

Wprowadzenie do UML, przykład użycia kolizja

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

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23 Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

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

Style programowania - krótki przeglad

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

Diagramy UML, przykład problemu kolizji

Diagramy 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ół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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Julia 4D - raytracing

Julia 4D - raytracing i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja

Bardziej szczegółowo

OpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1)

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

Wizualizacja 3D. dr inż. Marcin Gabryel

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

Dalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl

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

Wprowadzenie do szablonów szablony funkcji

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

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu GRAFIKA KOMPUTEROWA 1. Układ przedmiotu semestr VI - 20000 semestr VII - 00200 Dr inż. Jacek Jarnicki Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl

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

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

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

GRK 4. dr Wojciech Palubicki

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

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Programowanie 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

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

Wprowadzenie 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 wykładu na temat programowania obiektowego.

Bardziej szczegółowo

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu

GRAKO: Ś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ółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

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

Wykład Ćwiczenia Laboratorium Projekt Seminarium

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

OpenGL : Oświetlenie. mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski. Szczecin, r 1/23

OpenGL : 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ółowo

PRZEWODNIK PO PRZEDMIOCIE

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

Zad. 6: Sterowanie robotem mobilnym

Zad. 6: Sterowanie robotem mobilnym Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C. Ustawienia materiałów i tekstur w programie KD Max. 1. Dwa tryby własności materiału Materiał możemy ustawić w dwóch trybach: czysty kolor tekstura 2 2. Podstawowe parametry materiału 2.1 Większość właściwości

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego.

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

Wprowadzenie. Artur Staszczyk Bartłomiej Filipek

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

Bardziej szczegółowo

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

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

Programowanie warstwy wizualnej gry

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

Gry komputerowe: efekty specjalne cz. 2

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

Geneza 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 programowania obiektowego.

Bardziej szczegółowo

Grafika komputerowa i wizualizacja

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU GRAFICZNE MODELOWANIE

Bardziej szczegółowo

Wizualizacja płomienia

Wizualizacja płomienia Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Wizualizacja płomienia Autor: Weronika Matlakiewicz Opiekun projektu: dr inż. Bogdan Kreczmer 4 czerwca

Bardziej szczegółowo

Geneza powstania języka C++

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

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja MODEL RASTROWY Siatka kwadratów lub prostokątów stanowi elementy rastra. Piksel - pojedynczy element jest najmniejszą rozróŝnialną jednostką powierzchniową, której własności są opisane atrybutami. Model

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

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

WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ

WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ Dr inż.. Jacek Jarnicki Doc. PWr. Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl 1. Układ przedmiotu

Bardziej szczegółowo

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Synteza i obróbka obrazu Tekstury Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Tekstura Tekstura (texture) obraz rastrowy (mapa bitowa, bitmap) nakładany na

Bardziej szczegółowo

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

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak Modelowanie i wstęp do druku 3D Wykład 1 Robert Banasiak Od modelu 3D do wydruku 3D Typowa droga...czasem wyboista... Pomysł!! Modeler 3D Przygotowanie modelu do druku Konfiguracja Programu do drukowania

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

Wykład 5. Rendering (2) Geometria

Wykład 5. Rendering (2) Geometria Wykład 5. Rendering (2) Geometria 1. Z ogólnego, niezależnego od implementacji punktu widzenia, dane stanowiące opis geometrii modelu zorganizowane są w skończoną sekwencję (lub grupę sekwencji), którego

Bardziej szczegółowo

Programowanie, część III

Programowanie, 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ółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL

Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 7 października 2014 1 /

Bardziej szczegółowo

OpenGL - tekstury Mapowanie tekstur

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

Bardziej szczegółowo

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

Dia rysowanie diagramów

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

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie aplikacji rozproszonej w Sun RPC Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki

Bardziej szczegółowo