1 DirectX Cell Shading

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

Download "1 DirectX Cell Shading"

Transkrypt

1 1 DirectX Cell Shading Po lekcji teoretycznej czas pokazać, co możemy zrobić w praktyce. Jak już wiemy tak naprawdę cieniowanie kreskówkowe nie stanowi wielkiego problemu i cały ambaras polega w zasadzie na odpowiednim przygotowaniu tekstur, których użyjemy w przykładzie. Żeby za dużo nie kombinować oprzemy się na tych, z lekcji teoretcznej. Co do samego kodu to w zasadzie dwie główne rzeczy będą nam potrzebne - a mianowicie odpowiednia struktura wierzchołka i vertex shader, który policzy co trzeba. W cieniowaniu kreskówkowym w zasadzie nie używa się tekstur - przynajmniej darmo wypatrywać czegoś podobnego w znanych komiksach czy bajkach rysunkowych. My aby sobie nie zaciemniać przykładu także ograniczymy się tylko do mechanizmu samego cieniowania i nadawania bryłom konturów. A tekstury przecież możecie nałożyć sobie sami, bo robiliśmy to już chyba dziesiątki razy. A więc po pierwsze struktura wierzchołka: struct SVertex float x, y, z; // position float nx, ny, nz; // normal float u1, v1; // firts texture channel float u2, v2; // second texture channel ; Oczywiście pozycja, normalna która tutaj okaże się niezbędna (w końcu wyliczamy oświetlenie) no i dwa zestawy współrzędnych tekstur - jeden dla tekstury cieniującej a drugi dla tekstury definiującej kontury obiektu. Tak naprawdę to wszystko jest dla nas już w tym momencie zupełnym banałem, więc nawet nie powinienem tego opisywać, no ale dla porządku niech wam będzie. Inicjalizację urządzenia, ładowanie geometrii i tekstur także pomijamy, bo mamy ważniejsze sprawy - a mianowicie druga decydująca w naszym przykładzie sprawa, czyli vertex shader: vs.1.1 dcl_position dcl_normal dcl_texcoord0 dcl_texcoord1 v0 v3 v7 v8 ; c0-c3 - world transform matrix ; c4-c7 - view*proj transform matrix ; c8 - eye position ; c9 - light vector def c10, 0.0f, 1.0f, 0.0f, 0.0f ; position to world dp4 r0.x, v0, c0 dp4 r0.y, v0, c1 dp4 r0.z, v0, c2 dp4 r0.w, v0, c3 ; and final dp4 opos.x, r0, c4 dp4 opos.y, r0, c5 dp4 opos.z, r0, c6 dp4 opos.w, r0, c7 ; normal to world dp3 r1.x, v3, c0 dp3 r1.y, v3, c1 dp3 r1.z, v3, c2 ; normalize normal dp3 r1.w, r1, r1 rsq r1.w, r1.w mul r1, r1, r1.w ; output color mov od0, c10 ; and toon textures dp3 ot0.x, r1,-c9 ; eye vector sub r2, c8, r0

2 2 DirectX Cell Shading dp3 r2.w, r2, r2 rsq r2.w, r2.w mul r2, r2, r2.w ; outline texture dp3 ot1.x, r1, r2 Jak widać shader nie jest trudny bo i być nie może. Dla zasady jednak postarajmy sobie zobaczyć poszczególne kawałki, żeby w razie wątpliwości nie stresować się. ; position to world... dp4 r0.x, v0, c0 dp4 r0.y, v0, c1 dp4 r0.z, v0, c2 dp4 r0.w, v0, c3 Najpierw oczywiście manewrujemy naszym obiektem w świecie, czyli mnożymy pozycję wejściową wierzchołka poprzez macierz świata umieszczoną w rejestrach c0 do c3. Wynik zostawiamy w rejestrze r0, ponieważ jeszcze się nam przyda. ;...and final dp4 opos.x, r0, c4 dp4 opos.y, r0, c5 dp4 opos.z, r0, c6 dp4 opos.w, r0, c7 Żeby jednak za dużo nie mieszać od razu też wyślemy nasz wierzchołek na ekran, czyli przepuszczamy przez przemnożone przez siebie macierze widoku i projekcji, co w sumie wrzuci nam go na ekran. ; normal to world dp3 r1.x, v3, c0 dp3 r1.y, v3, c1 dp3 r1.z, v3, c2 Oczywiście, żeby policzyć oświetlenie podczas manewrowania obiektem po scenie musimy także manewrować normalnymi wierzchołków, które muszą pokonać dokładnie tę samą drogę co wierzchołki. Normalne zapamiętujemy jak zwykle już w rejestrze tymczasowym r2. ; normalize normal dp3 r1.w, r1, r1 rsq r1.w, r1.w mul r1, r1, r1.w I robimy oczywiście bardzo ważny manewr, o którym nigdy nie powinniśmy zapominać - czyli normalizujemy wszelkie wektory przed obliczeniami oświetlenia. mov od0, c10 Do wyjściwoego rejestru koloru wysyłamy jakiś dobrany przez nas kolor diffuse obiektu, ponieważ akurat w tym przypadku nie zajmujemy się materiałami wczytanymi bezpośrednio z modelu, no ale przecież nie w tym rzecz. W tym przykładzie wymyśliłem sobie obiekt zielony, ale możecie sobie zdefiniować jaki chcecie tak naprawdę. Jak ktoś będzie robił finalną aplikację to oczywiście musi sobie opracować mechanizm wysyłania kolorów materiałów przez stałe shadera. ; and toon textures dp3 ot0.x, r1,-c9 Teraz nastąpi właściwy bajer w naszym przykładzie czyli pocieniowanie naszego obiektu za pomocą tekstur. Jak widać powyżej, w kolorze diffuse nie zawieramy żadnej warotści wyliczonej na podstawie normalnej obiektu a jedynie stałą wartość koloru. Gdybyśy nie pocieniowali obiektu w inny sposób to dostalibyśmy na ekranie coś zupełnie bez wyrazu i głębi. W rejestrze c9 wpada do shadera wektor światła znajdującego się na scenie. Odwracamy go (za pomocą znaku "-") aby móc wyliczyć własćiwą warość iloczynu skalarnego pomiędzy nim a normalną. Minus jest po to, aby kąt pomiędzy normalną a światłem mieścił się w przedziale od 0 do 180 stopni. Wynikiem iloczynu skalarnego jak wiemy będzie liczba - cosinus kąta pomiędzy wektorami. Im większy kąt tym mniejsza wartość iloczynu i tym mniejsza liczba. Większy kąt oznacza nie mniej ni więcej to, że światło pada na daną normalną pod większym kątem, co oznacza coraz mniej światła. Nasza wartość wędruje zatem do rejestru tekstury, który zawiera współrzędne odpowiedzialne za mapowanie tekstur na poziomie nr 0 a tam znajdzie się nasza tekstura cieniująca. I jeśli tekstura będzie skonstruowana w sposób odpowiedni (dla małych wartości mapowania

3 3 DirectX Cell Shading będzie ciemniejsza, dla dużych jaśniejsza) to otrzymamy poprawne cieniowanie, co wiemy już z teorii. Ponieważ nasza tekstura będzie miała znaczące zmiany wartości tylko w jednym wymiarze, więc w tym momencie druga współrzędna nie ma tak naprawdę znaczenia i możemy ją ustawić dowolnie, ponieważ dla każdej wartości y, współrzędna x będzie wyglądała tak samo. ; eye vector sub r2, c8, r0 dp3 r2.w, r2, r2 rsq r2.w, r2.w mul r2, r2, r2.w Pozostało nam zatem wyliczyć już tylko dane dla tekstury wyznaczającej kontur naszego obiektu. Jak pamiętamy z lekcji teoretycznej potrzebny nam będzie wektor łączący oko z przekształconym w przestrzeni świata wierzchołkiem. Wierzchołek mamy w rejestrze r0, pozycję oka w stałej shadera c8. No i wyliczamy taki wektor odejmując pozycję wierzchołka od pozycji oka i umieszczamy w tymczasowym rejestrze r2. Oczywiście dany wektor normalizujemy, aby uniknąc przykrych niespodzianek. ; outline texture dp3 ot1.x, r1, r2 Na koniec robimy podobny manewr co poprzednio, czyli na podstawie iloczynu wektorowego będziemy wyliczać mapowanie dla tekstury. Tym razem iloczyn wyliczymy pomiędzy wektorem normalnym a wektorem, który wyliczyliśmy przed chwilą - łączącym oko z wierzchołkiem. Jeśli ten iloczyn będzie mały - znaczy się, że wektory są położone niemal prostopadle co prawdopodobnie oznacza krawędź, a przynajmniej można odnieść takie wrażenie patrząc na obiekt. Jeśli iloczyn będzie bliski zeru, znaczy że wektory leżą niemal w jednej linii i krawędź toto na pewno nie jest. Tak więc wyliczona wartość wędruje na poziom nr 1, gdzie panoszy się tekstura odpowiedzialna za pocieniowanie naszej krawędzi. Shader powinien działać bez zarzutu, czas więc zobaczyć co się dzieje w aplikacji. Jak wspomniałem, wszelkie ładowania, inicjalizacje itp. darujemy sobie, bo szkoda tylko miejsca a przejdziemy do sedna sprawy, czyli renderingu naszej bryły. W przykładzie pobawiłem się troszkę i prezentuję trzy różne możliwości renderingu: case eoutline: g_lpd3ddevice->settexturestagestate( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG2 ); g_lpd3ddevice->settexturestagestate( 1, D3DTSS_COLOROP, D3DTOP_MODULATE ); g_lpd3ddevice->settexturestagestate( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE ); Pierwszym trybem jest rendering samych krawędzi obiektu. Jak widać na rysunku krawędzie rysują się w dosyć charakterystyczny sposób i widać dodatkowo w jaki sposób jest zbudowana siatka obiektu. Taki a nie inny efekt zawdzięczać trzeba odpowiednio spreparowanej teksturze krawędzi, która zawiera zbiór odpowiednio przygotowanych mipmap. Tekstura ta jest w formacie *.dds, który jest charakterystyczny dla pakietu Direct3D. Może on zawierać nie tylko jedną teksturę, ale całe zestawy łącznie ze wszystkimi poziomami mpmap. W pakiecie Direct3D jest narzędzie, dzięki któremu możecie nawet poznać budowę takiej tekstury i obejrzeć jej posczególne elementy, no ale po szczegóły to dzisiaj odsyłam do SDK - to nie

4 4 DirectX Cell Shading temat na teraz. Wracając zaś do naszego przykładu to zaby zobaczyć tylko krawędzie obiektu z nałożonym na obiekt kolorem diffuse po prostu modulujemy je na poziomie nr 1, ponieważ właśnie tam znajduje się tekstura konturu. case eshade: g_lpd3ddevice->settexturestagestate( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); g_lpd3ddevice->settexturestagestate( 1, D3DTSS_COLOROP, D3DTOP_SELECTARG2 ); Drugim przypadkiem renderingu dostępnym w przykładzie jest rendering wykorzystujący samo cieniowanie za pomocą tekstury cieniującej, umieszczonej na poziomie 0 bez uwzględniania konturów obiektu. Aby uwidocznić taki a nie inny sposób po prostu mieszamy na poziomie nr 0 kolor difuuse i kolor tekstury cieniującej a następnie przepuszczamy ten rezultat na poziom 1, który w naszym przypadku oczywiście zawsze jest poziomem wyjściowym. case efinal: g_lpd3ddevice->settexturestagestate( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); g_lpd3ddevice->settexturestagestate( 1, D3DTSS_COLOROP, D3DTOP_MODULATE ); g_lpd3ddevice->settexturestagestate( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE ); I na sam koniec oczywiście efekt w pełnej krasie czyli jednocześnie i cieiowanie i wyciąganie krawędzi. Na każdym poziomie nie robimy nic innego, tylko modulujemy kolory przychodzące z poziomów poprzednich.

5 5 DirectX Cell Shading No i to w zasadzie byłoby tyle, jeśli chodzi o rendering kreskówek za pomocą Direct3D. Można powiedzieć, że łatwizna i faktycznie, jeśli chodzi o kod żródłowy to raczej tak to właśnie wygląda na naszym poziomie znajomości zagadnień grafiki. Inna sprawa to odpowiednio spreparowane tekstury, które akurat w tym przypadku grają główne role. Jeśli na przykład tekstura konturu byłaby nie taka, nie zawierałaby odpowiednio spreparowanych poziomów mipmap to zapewne kontur nie byłby tak wyraźny i może trudno byłoby go wogóle dostrzec. Tekstura cieniująca natomiast jest przygotowana pod kątem cieniowania kreskówkowego - gdybyśmy na przykład zrobili z niej ładny, ciągły gradient, to otrzymalibyśmy tradycyjne cieniowanie Gourauda zamiast kilku poziomów oświetlenia i charakterystycnego efektu. Pragnę także zwrócić waszą uwagę na możliwości, jakie ze sobą niesie ta technika. Spróbójcie zresztą sami trochę poeksperymentować, zwłaszcza z teksturą cieniującą. Dodajcie do niej kanał alfa, włączcie przeźroczystość i twórzcie. Poprzestawiajcie kolory cieniujące, może dajcie zupełnie inne odcienie niż czarne. Może wpadnie wam do głowy jakiś fajny efekt z teksturą konturu na przykład? Na wszystkie ciekawe pomysły oczywiście czekamy z niecierpliwością, może jakieś dema albo najlepiej efekty do naszego browsera :). Teraz powinno być łatwiej napisać cokolwiek, więc bardzo zachęcam ;).

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

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

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

g_pd3ddevice->createpixelshader( (DWORD*)pCode->GetBufferPointer(), &PixelShader ); pcode->release();

g_pd3ddevice->createpixelshader( (DWORD*)pCode->GetBufferPointer(), &PixelShader ); pcode->release(); 1 DirectX Piel shader 2 Przechodzimy od teorii do praktyki - dzisiaj więc napiszemy nasz własny, pierwszy piksel shader. Mam nadzieję, że choć pobieżnie się zapoznaliście się z dokumentacją i macie niejakie

Bardziej szczegółowo

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r Gry Komputerowe Laboratorium 4 Teksturowanie Kolizje obiektów z otoczeniem mgr inż. Michał Chwesiuk 1/29 Klasa Stwórzmy najpierw klasę TextureManager, która będzie obsługiwała tekstury w projekcie. 2/29

Bardziej szczegół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

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

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Opóźnione cieniowanie wprowadzenie Koszt obliczeniowy cieniowania Cieniowanie jedno- i wieloprzebiegowe Cieniowanie opóźnione Schemat opóźnionego

Bardziej szczegół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

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

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

1 Matematyka Macierze

1 Matematyka Macierze 1 Matematyka Macierze Witam w naszym drugim odcinku małego poradnika matematycznego. Poprzednim razem powiedzieliśmy sobie sporo na temat wektorów i wszelakich operacji, jakie na nich przeprowadzać. No

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

1 Temat: Vertex Shader

1 Temat: Vertex Shader Instrukcja Architektura procesorów graficznych 1 Temat: Vertex Shader Przygotował: mgr inż. Tomasz Michno 1 Wstęp 1.1 Czym jest shader Shader jest programem (zazwyczaj krótkim), wykonywanym przez kartę

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

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

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

O co chodzi z tym MATLAB'em?!

O co chodzi z tym MATLAB'em?! O co chodzi z tym MATLAB'em?! Część 1. SIMULINK W pliku data.mat jest zapisany przebieg. Gdzieś tam i kiedyś tam zarejestrowany. Widać go na fioletowo poniżej. Powstał on z obiektu, co ciekawe wiemy jak

Bardziej szczegółowo

Tajemnice koloru, część 1

Tajemnice koloru, część 1 Artykuł pobrano ze strony eioba.pl Tajemnice koloru, część 1 Jak działa pryzmat? Dlaczego kolory na monitorze są inne niż atramenty w drukarce? Możemy na to odpowiedzieć, uświadamiając sobie, że kolory

Bardziej szczegółowo

Co to jest niewiadoma? Co to są liczby ujemne?

Co to jest niewiadoma? Co to są liczby ujemne? Co to jest niewiadoma? Co to są liczby ujemne? Można to łatwo wyjaśnić przy pomocy Edukrążków! Witold Szwajkowski Copyright: Edutronika Sp. z o.o. www.edutronika.pl 1 Jak wyjaśnić, co to jest niewiadoma?

Bardziej szczegółowo

1 DirectX Vertex shader 1

1 DirectX Vertex shader 1 1 DirectX Vertex shader 1 No cóż. Przykłady sypią się jak ulęgałki z drzewa, więc nie ma na co czekać. Pędzimy do przodu niczym rakieta i dziś bierzemy się za nową, zupełnie odlotową i kosmiczną rzecz,

Bardziej szczegółowo

Grafika 3D program POV-Ray - 1 -

Grafika 3D program POV-Ray - 1 - Temat 1: Ogólne informacje o programie POV-Ray. Interfejs programu. Ustawienie kamery i świateł. Podstawowe obiekty 3D, ich położenie, kolory i tekstura oraz przezroczystość. Skrót POV-Ray to rozwinięcie

Bardziej szczegółowo

Jak tworzyć dobre wizualizacje? Porady do wykorzystania w programie KD Max. MTpartner s.c.

Jak tworzyć dobre wizualizacje? Porady do wykorzystania w programie KD Max. MTpartner s.c. Jak tworzyć dobre wizualizacje? Porady do wykorzystania w programie KD Max MTpartner s.c. 1. Ustawienie widoku 1.1 Zasada mocnych punktów. Jeśli poprowadzimy 2 linie dzielące obraz w pionie na 3 równe

Bardziej szczegółowo

Lekcja : Tablice + pętle

Lekcja : Tablice + pętle Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie

Bardziej szczegółowo

Zadanie polega na zbudowaniu i wyświetleniu przykładowej animowanej sceny przedstawiającej robota spawalniczego typu PUMA.

Zadanie polega na zbudowaniu i wyświetleniu przykładowej animowanej sceny przedstawiającej robota spawalniczego typu PUMA. Zadanie PUMA Zadanie polega na zbudowaniu i wyświetleniu przykładowej animowanej sceny przedstawiającej robota spawalniczego typu PUMA. Cały projekt składa się z następujących elementów: 1. Animacja ramion

Bardziej szczegółowo

KMO2D. Kolizje między-obiektowe w 2D

KMO2D. Kolizje między-obiektowe w 2D KMO2D Kolizje między-obiektowe w 2D I. Wstęp 3 lata temu na temat kolizji nie miałem żadnego pojęcia. Przyszedł jednak czas, gdy postanowiłem napisać pierwszą porządną grę i pojawił się, wtedy problem.

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D

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

Bardziej szczegółowo

Implementacja filtru Canny ego

Implementacja filtru Canny ego ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi

Bardziej szczegółowo

Transformacje. dr Radosław Matusik. radmat

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

Bardziej szczegółowo

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

2 Matematyka Wektory. A = ( Ax, Ay, Az ) - początek wektora B = ( Bx, By, Bz ) - koniec wektora, więc

2 Matematyka Wektory. A = ( Ax, Ay, Az ) - początek wektora B = ( Bx, By, Bz ) - koniec wektora, więc 1 Matematyka Wektory Witam. Dzisiaj będzie trochę nietypowy ale bardzo potrzebny tutorial. Już zrobiliśmy bardzo dużo jeśli chodzi o samego DirectX'a, znamy sporo różnych fajnych sztuczek, ale pewnie wielu

Bardziej szczegółowo

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3 Matlab, zajęcia 3. Pętle c.d. Przypomnijmy sobie jak działa pętla for Możemy podać normalnie w Matlabie t=cputime; for i=1:20 v(i)=i; e=cputime-t UWAGA: Taka operacja jest bardzo czasochłonna i nieoptymalna

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

Priorytet Przysłony. Angielska nazwa dzisiejszego trybu kreatywnego pochodzi od słowa APERATURE czyli PRZYSŁONA.

Priorytet Przysłony. Angielska nazwa dzisiejszego trybu kreatywnego pochodzi od słowa APERATURE czyli PRZYSŁONA. Priorytet Przysłony Angielska nazwa dzisiejszego trybu kreatywnego pochodzi od słowa APERATURE czyli PRZYSŁONA. Przysłona to te małe blaszki w obiektywie, które nachodząc na siebie układają się w pierścień.

Bardziej szczegółowo

Bartłomiej Filipek www.ii.uj.edu.pl/~filipek

Bartłomiej Filipek www.ii.uj.edu.pl/~filipek Bartłomiej Filipek www.ii.uj.edu.pl/~filipek Nasz Cel Prehistoria krótki wstęp Nowa era! Vertex Shaders Fragment Shaders Podstawy GLSL Obsługa GLSL z API OpenGL Dodajmy parę efektów! Podsumowanie Dodatkowe

Bardziej szczegółowo

GRK 5. dr Wojciech Palubicki

GRK 5. dr Wojciech Palubicki GRK 5 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

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

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

Karty graficzne możemy podzielić na:

Karty graficzne możemy podzielić na: KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

Lista 6. Kamil Matuszewski 13 kwietnia D n =

Lista 6. Kamil Matuszewski 13 kwietnia D n = Lista 6 Kamil Matuszewski 3 kwietnia 6 3 4 5 6 7 8 9 Zadanie Mamy Pokaż, że det(d n ) = n.... D n =.... Dowód. Okej. Dla n =, n = trywialne. Załóżmy, że dla n jest ok, sprawdzę dla n. Aby to zrobić skorzystam

Bardziej szczegółowo

1 Matematyka Transformacje

1 Matematyka Transformacje 1 Matematyka Transformacje Znamy już właściwości wektorów i posiadamy podstawowe informacje o operacjach na macierzach. Czas więc się dowiedzieć jak to wszystko zastosować w grafice 3D. Z wektorami raczej

Bardziej szczegółowo

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski Rachunek wektorowy - wprowadzenie dr inż. Romuald Kędzierski Graficzne przedstawianie wielkości wektorowych Długość wektora jest miarą jego wartości Linia prosta wyznaczająca kierunek działania wektora

Bardziej szczegółowo

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.:

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.: Temat 2: Przezroczystość. Prostopadłościan, walec i stożek. Przesuwanie i skalowanie obiektów. Omówimy teraz przezroczystość obiektów związaną z ich kolorem (lub teksturą). Za przezroczystość odpowiadają

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

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu

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

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

Adobe InDesign lab. 3 Jacek Wiślicki,

Adobe InDesign lab. 3 Jacek Wiślicki, Spis treści 1. Zaawansowane techniki pracy...2 1.1. Tekst z wypełnieniem...2 1.2. Stosowanie przeźroczystości i oblewania tekstem...5 strona 1 z 8 1. Zaawansowane techniki pracy 1 W poprzednich instrukcjach

Bardziej szczegółowo

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia Obliczenie koloru powierzchni (ang. Lighting) Zbiór trójwymiarowych danych wej$ciowych wykorzystywanych do wygenerowania obrazu wyj$ciowego 2D. Cieniowanie (ang. Shading) Rados"aw Mantiuk Wydzia" Informatyki Zachodniopomorski Uniwersytet Technologiczny

Bardziej szczegółowo

1 DirectX Piel shader 1

1 DirectX Piel shader 1 1 DirectX Piel shader 1 Nowa zabawka, jaką poznaliśmy jakiś czas temu, czyli vertex shader dał nam do ręki wspaniale możliwości jeśli chodzi o obróbkę wierzchołków przez nasza kartę i osiąganie wydumanych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Geometria Lista 0 Zadanie 1

Geometria Lista 0 Zadanie 1 Geometria Lista 0 Zadanie 1. Wyznaczyć wzór na pole równoległoboku rozpiętego na wektorach u, v: (a) nie odwołując się do współrzędnych tych wektorów; (b) odwołując się do współrzędnych względem odpowiednio

Bardziej szczegółowo

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Materiał jest zbiorem informacji o właściwościach powierzchni. Składa się na niego kolor, sposób odbijania światła i sposób nakładania

Bardziej szczegółowo

CorelDRAW. 1. Rysunek rastrowy a wektorowy. 2. Opis okna programu

CorelDRAW. 1. Rysunek rastrowy a wektorowy. 2. Opis okna programu 1. Rysunek rastrowy a wektorowy CorelDRAW Różnice między rysunkiem rastrowym (czasami nazywanym bitmapą) a wektorowym są olbrzymie. Szczególnie widoczne są podczas skalowania (czyli zmiany rozmiaru) rysunku

Bardziej szczegółowo

Celem tego projektu jest stworzenie

Celem tego projektu jest stworzenie Prosty kalkulator Celem tego projektu jest stworzenie prostego kalkulatora, w którym użytkownik będzie podawał dwie liczby oraz działanie, które chce wykonać. Aplikacja będzie zwracała wynik tej operacji.

Bardziej szczegółowo

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem. 1 Wektory Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem. 1.1 Dodawanie wektorów graficzne i algebraiczne. Graficzne - metoda równoległoboku. Sprowadzamy wektory

Bardziej szczegółowo

Podstawy działań na wektorach - dodawanie

Podstawy działań na wektorach - dodawanie Podstawy działań na wektorach - dodawanie Metody dodawania wektorów można podzielić na graficzne i analityczne (rachunkowe). 1. Graficzne (rysunkowe) dodawanie dwóch wektorów. Założenia: dane są dwa wektory

Bardziej szczegółowo

WZAJEMNY SZACUNEK DLA WSZYSTKICH CZŁONKÓW RODZINY JAKO FUNDAMENT TOLERANCJI WOBEC INNYCH

WZAJEMNY SZACUNEK DLA WSZYSTKICH CZŁONKÓW RODZINY JAKO FUNDAMENT TOLERANCJI WOBEC INNYCH WZAJEMNY SZACUNEK DLA WSZYSTKICH CZŁONKÓW RODZINY JAKO FUNDAMENT TOLERANCJI WOBEC INNYCH Dla każdego z nas nasza rodzina to jedna z najważniejszych grup, wśród których i dla których żyjemy. Nie zawsze

Bardziej szczegółowo

Mapowanie sześcienne otoczenia (cubic environment mapping)

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

Bardziej szczegółowo

Najprostsze z zadań z prawdopodobieństwa robi się korzystając z dystrybuanty. Zacznijmy od tego - tu mamy rozkład (wyniki pomiarów):

Najprostsze z zadań z prawdopodobieństwa robi się korzystając z dystrybuanty. Zacznijmy od tego - tu mamy rozkład (wyniki pomiarów): Najprostsze z zadań z prawdopodobieństwa robi się korzystając z dystrybuanty. Zacznijmy od tego - tu mamy rozkład (wyniki pomiarów): Ok. Średnia to środek zbioru. Zazwyczaj mamy podane także odchylenie

Bardziej szczegółowo

Równania miłości. autor: Tomasz Grębski

Równania miłości. autor: Tomasz Grębski Równania miłości autor: Tomasz Grębski Tytuł pewnie trochę dziwnie brzmi, bo czy miłość da się opisać równaniem? Symbolem miłości jest niewątpliwie Serce, a zatem spróbujmy opisać kształt serca równaniem

Bardziej szczegółowo

3. Macierze i Układy Równań Liniowych

3. Macierze i Układy Równań Liniowych 3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x

Bardziej szczegółowo

Mamy co prawda trawiastą powierzchnię ziemi i niebo, ale scena wygląda mało realistycznie. Zmieńmy nieco właściwości tekstury płaszczyzny gruntu:

Mamy co prawda trawiastą powierzchnię ziemi i niebo, ale scena wygląda mało realistycznie. Zmieńmy nieco właściwości tekstury płaszczyzny gruntu: Temat 15: Grunt, niebo, mgła i tęcza w POV-Ray. Dotychczas modelowaliśmy pojedyncze przedmioty oraz wnętrza i ich wyposażenie. Pora zająć się krajobrazem. Nieodłącznymi elementami każdego krajobrazu są

Bardziej szczegółowo

Misja#3. Robimy film animowany.

Misja#3. Robimy film animowany. Po dzisiejszej lekcji będziesz: tworzyć programy animujące obiekty na ekranie komputera określać położenie i orientację obiektu w kartezjańskim układzie współrzędnych Zauważ że... Ludzkie oko charakteryzuje

Bardziej szczegółowo

Przetwarzanie grafiki rastrowej na wektorową

Przetwarzanie grafiki rastrowej na wektorową Przetwarzanie grafiki rastrowej na wektorową Inaczej wektoryzacja, lub trasowanie, czyli zastąpienie rysunku rastrowego rysunkiem wektorowym. Wykonanie: Piotr Dróżdż Podstawowe różnice między grafiką wektorową,

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

Rys 3-1. Rysunek wałka

Rys 3-1. Rysunek wałka Obiekt 3: Wałek Rys 3-1. Rysunek wałka W tym dokumencie zostanie zaprezentowany schemat działania w celu przygotowania trójwymiarowego rysunku wałka. Poniżej prezentowane są sugestie dotyczące narysowania

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

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7. Strona z WEKTORY I MACIERZE Wektory i macierze ogólnie nazywamy tablicami. Wprowadzamy je:. W sposób jawny: - z menu Insert Matrix, - skrót klawiszowy: {ctrl}+m, - odpowiedni przycisk z menu paska narzędziowego

Bardziej szczegółowo

4. Rysowanie krzywych

4. Rysowanie krzywych 1. Operator plot y x \begin{tikzpicture} \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; \draw[->] (0,-1.2) -- (0,4.2) node[above] {$y$}; \draw (3,4) -- (3,3) plot coordinates{(2,3) (3,0) (4,3)}; \end{tikzpicture}

Bardziej szczegółowo

#define D3DFVF_CUSTOMVERTEX ( D3DFVF_XYZ D3DFVF_DIFFUSE D3DFVF_TEX1 )

#define D3DFVF_CUSTOMVERTEX ( D3DFVF_XYZ D3DFVF_DIFFUSE D3DFVF_TEX1 ) 1 DirectX Vertex shader 2 Witam w dzisiejszej, mam nadzieję bardzo ciekawej lekcji. Od teorii do praktyki czyli w sumie prawidłowo przejdziemy sobie dzisiaj na przykładzie najprostszego vertex shadera.

Bardziej szczegółowo

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;( Zad Przedstaw funkcję kwadratową w postaci ogólnej Przykład y = ( x ) + 5 (postać kanoniczna) FUNKCJA KWADRATOWA Postać ogólna funkcji kwadratowej to: y = ax + bx + c;( a 0) Aby ją uzyskać pozbywamy się

Bardziej szczegółowo

Uwagi ogólne. 3. Użycie gwiazdki zamiast kropki na oznaczenie mnożenia: 4. Lepiej niż 6, F wyglądałby zapis: 69,539 pf.

Uwagi ogólne. 3. Użycie gwiazdki zamiast kropki na oznaczenie mnożenia: 4. Lepiej niż 6, F wyglądałby zapis: 69,539 pf. Uwagi ogólne. 1. Sprawozdania przesyłamy przez e-mail, wpisując w temacie STUDENT. 2. Sprawozdania przesyłamy tylko w postaci pliku PDF. 3. Termin na wykonanie i przesłanie sprawozdania wynosi 7 dni od

Bardziej szczegółowo

GRK 5. dr Wojciech Palubicki

GRK 5. dr Wojciech Palubicki GRK 5 dr Wojciech Palubicki Projekty (dwu-osobowe) Napisać symulacje lotu kosmicznego w OpenGLu: Korzystając tylko z bibliotek które na ćwiczeniach zostały omówione Interaktywna symulacja Wszystkie wielokąty

Bardziej szczegółowo

Definiowanie układu - czyli lekcja 1.

Definiowanie układu - czyli lekcja 1. Definiowanie układu - czyli lekcja 1. Ten krótki kurs obsługi programu chciałbym zacząć od prawidłowego zdefiniowania układu, ponieważ jest to pierwsza czynność jaką musimy wykonać po zetknięciu się z

Bardziej szczegółowo

5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH

5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH 5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH Temat, którym mamy się tu zająć, jest nudny i żmudny będziemy się uczyć techniki obliczania wartości logicznej zdań dowolnie złożonych. Po co? możecie zapytać.

Bardziej szczegółowo

CIĄGI wiadomości podstawowe

CIĄGI wiadomości podstawowe 1 CIĄGI wiadomości podstawowe Jak głosi definicja ciąg liczbowy to funkcja, której dziedziną są liczby naturalne dodatnie (w zadaniach oznacza się to najczęściej n 1) a wartościami tej funkcji są wszystkie

Bardziej szczegółowo

Przetwarzanie obrazów wykład 4

Przetwarzanie obrazów wykład 4 Przetwarzanie obrazów wykład 4 Adam Wojciechowski Wykład opracowany na podstawie Komputerowa analiza i przetwarzanie obrazów R. Tadeusiewicz, P. Korohoda Filtry nieliniowe Filtry nieliniowe (kombinowane)

Bardziej szczegółowo

Elementy geometrii analitycznej w R 3

Elementy geometrii analitycznej w R 3 Rozdział 12 Elementy geometrii analitycznej w R 3 Elementy trójwymiarowej przestrzeni rzeczywistej R 3 = {(x,y,z) : x,y,z R} możemy interpretować co najmniej na trzy sposoby, tzn. jako: zbiór punktów (x,

Bardziej szczegółowo

Rzutowanie z 4D na 3D

Rzutowanie z 4D na 3D Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Rzutowanie z 4D na 3D Autor: Daniel Piłat Opiekun projektu: dr inż. Bogdan Kreczmer 15 czerwca 2010

Bardziej szczegółowo

Animowana grafika 3D Laboratorium 3

Animowana grafika 3D Laboratorium 3 3DStudio MAX teksturowanie modelu budynku dla potrzeb gry 3D W ćwiczeniu tym zakładamy, że mamy już ukończony model naszego budynku. Składa się on z wielu elementów: ścian, okien, drzwi, dachu itp. W teorii

Bardziej szczegółowo

Grafika komputerowa ZS Sieniawa Andrzej Pokrywka. Ścieżki cz. 2. Rysunki z kreskówek. Autor: Joshua Koudys

Grafika komputerowa ZS Sieniawa Andrzej Pokrywka. Ścieżki cz. 2. Rysunki z kreskówek. Autor: Joshua Koudys Ścieżki cz. 2 Rysunki z kreskówek 1. Zaczynamy od stworzenia nowego obrazka na białym tle, o wymiarach np. 500x500 px. 2. Tworzymy nową warstwę o nazwie linie pomocnicze. 3. Tworzymy Eliptyczne zaznaczenie

Bardziej szczegółowo

WYBUCHAJĄCE KROPKI ROZDZIAŁ 1 MASZYNY

WYBUCHAJĄCE KROPKI ROZDZIAŁ 1 MASZYNY WYBUCHAJĄCE KROPKI ROZDZIAŁ 1 MASZYNY Witaj w podróży. Jest to podróż matematyczna oparta na historii mojej, Jamesa, która jednak nie wydarzyła się naprawdę. Kiedy byłem dzieckiem, wynalazłem maszynę -

Bardziej szczegółowo

Analiza moż liwości i porównanie nowych ję zyków do programowania grafiki

Analiza moż liwości i porównanie nowych ję zyków do programowania grafiki Analiza moż liwości i porównanie nowych ję zyków do programowania grafiki Na przykładzie C for Graphics i OpenGL 2.0 Shading Language autor: Marcin Rociek promotor: dr inż. Witold Alda 1 Wprowadzenie 2

Bardziej szczegółowo

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak: Tablice Tablice jednowymiarowe Jeżeli nasz zestaw danych składa się z wielu drobnych elementów tego samego rodzaju, jego najbardziej naturalnym ekwiwalentem w programowaniu będzie tablica. Tablica (ang.

Bardziej szczegółowo

Bartosz Bazyluk POTOK RENDEROWANIA Etapy renderowania w grafice czasu rzeczywistego. Grafika Komputerowa, Informatyka, I Rok

Bartosz Bazyluk POTOK RENDEROWANIA Etapy renderowania w grafice czasu rzeczywistego.   Grafika Komputerowa, Informatyka, I Rok POTOK RENDEROWANIA Etapy renderowania w grafice czasu rzeczywistego. http://bazyluk.net/zpsb Grafika Komputerowa, Informatyka, I Rok POTOK RENDEROWANIA W grafice realistycznej stosuje się zwykle podejścia

Bardziej szczegółowo

Gry komputerowe, Informatyka N1, III Rok

Gry komputerowe, Informatyka N1, III Rok Oświetlenie Potok renderowania. Techniki oświetlenia i cieniowania. http://bazyluk.net/dydaktyka Gry komputerowe, Informatyka N1, III Rok POTOK RENDEROWANIA W grafice realistycznej stosuje się zwykle podejścia

Bardziej szczegółowo

to jest właśnie to, co nazywamy procesem życia, doświadczenie, mądrość, wyciąganie konsekwencji, wyciąganie wniosków.

to jest właśnie to, co nazywamy procesem życia, doświadczenie, mądrość, wyciąganie konsekwencji, wyciąganie wniosków. Cześć, Jak to jest, że rzeczywistość mamy tylko jedną i czy aby na pewno tak jest? I na ile to może przydać się Tobie, na ile to może zmienić Twoją perspektywę i pomóc Tobie w osiąganiu tego do czego dążysz?

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

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

Copyright 2015 Monika Górska

Copyright 2015 Monika Górska 1 To jest moje ukochane narzędzie, którym posługuję się na co dzień w Fabryce Opowieści, kiedy pomagam swoim klientom - przede wszystkim przedsiębiorcom, właścicielom firm, ekspertom i trenerom - w taki

Bardziej szczegółowo

SMOP - wykład. Rozkład normalny zasady przenoszenia błędów. Ewa Pawelec

SMOP - wykład. Rozkład normalny zasady przenoszenia błędów. Ewa Pawelec SMOP - wykład Rozkład normalny zasady przenoszenia błędów Ewa Pawelec 1 iepewność dla rozkładu norm. Zamiast dodawania całych zakresów uwzględniamy prawdopodobieństwo trafienia dwóch wartości: P x 1, x

Bardziej szczegółowo

Tekstury Ćwiczenie 1 (Kostka)

Tekstury Ćwiczenie 1 (Kostka) Tekstury Ćwiczenie 1 (Kostka) 1. Zrobimy kostkę sześciościenną, wymaga ona wykorzystania techniki nakładania tekstur zwaną UVMapping, polegającą na rzutowaniu dwuwymiarowej tekstury na przestrzeo trójwymiarową.

Bardziej szczegółowo

Transkrypcja wideo: Czym są środki trwałe i jak je rozliczać? Q&A

Transkrypcja wideo: Czym są środki trwałe i jak je rozliczać? Q&A Transkrypcja wideo: Czym są środki trwałe i jak je rozliczać? Q&A https://www.youtube.com/watch?v=l2zfm4p9uyi Anna Pisu - infakt.pl: Cześć! Witamy w kolejnym odcinku księgowego Q&A infaktu. Dzisiaj temat

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Grafika komputerowa. Dla DSI II

Grafika komputerowa. Dla DSI II Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji

Bardziej szczegółowo

2. Układy równań liniowych

2. Układy równań liniowych 2. Układy równań liniowych Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2017/2018 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 2. Układy równań liniowych zima 2017/2018 1 /

Bardziej szczegółowo

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

Bardziej szczegółowo

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni. Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia

Bardziej szczegółowo