Rozdział 6 Cienie rzucane. Mieszanie kolorów
|
|
- Judyta Baranowska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Rozdział 6 Cienie rzucane. Mieszanie kolorów Wersja z W tym rozdziale omówione są zagadnienia związane znaczeniowo z oświetleniem: cienie rzucane, przezroczystość, mgła. Nie maja one jednak nic wspólnego z modelem oświetlenia Phonga. Rzutowanie cieni Cienie własne mają kluczowe znaczenie dla postrzegania obiektów jako trójwymiarowych brył. Nie zapominajmy jednak, że cieniom własnym towarzyszą cienie rzucane na podłoże i inne przedmioty. Ich obecność pomaga między innymi lepiej rozpoznawać położenie i orientację obiektów. O ile cienie własne, czyli różna jasność ścian bryły w zależności od ich orientacji względem źródeł światła, są obsługiwane zarówno przez biblioteki MonoGame, Direct3D czy OpenGL, jak i wspierane sprzętowo, to cienie rzucane pozostawione są całkowicie w gestii programisty. W tym sensie dalsza część rozdziału nie ma nic wspólnego z systemem oświetlenia, o którym mówiliśmy do tej pory. Jest kilka algorytmów pozwalających na generowanie cieni. Wśród nich najpopularniejsze są trzy: rzutowanie cieni (ang. projected shadows lub planar shadows), cienie objętościowe (ang. volumetric shadows) i odwzorowywanie cieni (ang. shadow mapping). Pierwsza technika jest dość prosta, dwie pozostałe można zaliczyć do zaawansowanych. Skupmy się zatem na rzutowaniu cieni. Na czym ono polega? Cień jest obszarem, do którego nie dochodzi światło ze źródła światła. Analizując zagadnienie z punktu widzenia geometrii cień jest rzutem obiektu przysłaniającego światło na obiekt zasłaniany. W przypadku punktowego źródła światła położonego w stosunkowo niedużej odległości od obiektu mamy do czynienia z rzutem perspektywicznym. Oddalając jego pozycję aż do nieskończoności (np. w przypadku światła słonecznego) promienie stają się równoległe, a więc rzut staje się równoległy. Oba przypadki można przedstawić w jednolity sposób we współrzędnych jednorodnych. Idea metody rzutowania opiera się na wykorzystaniu macierzy przekształcenia dokonującej rzutowania obiektu na płaszczyznę przyjmującą cień. Dzięki temu w prosty sposób można wykorzystać te same współrzędne wierzchołków modelu (we współrzędnych modelu) do jego rysowania jak również do wygenerowania jego cienia. (R. Płoszajczak, praca mgr) Biblioteka XNA pozwalała uzyskać macierz rzutowania równoległego (tzn. odpowiadającego nieskończenie odległemu źródłu światła) na dowolną płaszczyznę korzystając z metody Matrix.CreateShadows. Jej dwoma argumentami były wektor wskazujący kierunek do źródła światła oraz płaszczyzna, na którą rzutowanie ma być przeprowadzane. Jeżeli macierz świata została pomnożona przez tą macierz, wszystkie punkty trójwymiarowej bryły znajdowały się na tej płaszczyźnie tym samym bryła zostanie spłaszczona. Wystarczy tylko użyć do jej pomalowania czerni, aby uzyskać cień. W MonoGame nie ma tej metody, dlatego zmuszeni będziemy napisać ją samodzielnie. Przy okazji uogólnimy ją nieco umożliwiając także uzyskanie rzutowania perspektywicznego pochodzącego od źródła światła, które nie jest nieskończenie odległe. W metodzie zdefiniujemy trzeci dodatkowy argument typu bool, który będzie kontrolował współrzędną w wektora określającego położenie
2 źródła światła. Jeżeli będzie równy prawdziwości, współrzędnej w nadamy zerową wartość, co oznacza jej przesunięcie do nieskończoności. W katalogu ***** jest projekt z umieszczonym na scenie sześcianem oraz powierzchnią imitującą podłoże (rysunek 9). Jest to niemal ten sam projekt, który przygotowaliśmy wcześniej ucząc się ustawiania oświetlenia. Wyłączone jest jednak światło emisji sześcianu. Rysunek 9. Układ, na którym będziemy ćwiczyć rzutowanie cieni 1. Zacznijmy od narysowania drugiego sześcianu, którego macierz świata zostanie pomnożona przez macierz rzutowania na nasze podłoże. Definiujemy dodatkowe pole referencję do prostopadłościanu: Prostopadloscian cienszescianu; 2. W metodzie Game1.Initialize tworzymy nowy prostopadłościan (zachowujemy na razie jego oryginalny kolor): cieńsześcianu = new Prostopadloscian(this, efekt, 1.5f, 1.5f, 1.5f, Color.DarkGreen); this.components.add(cieńsześcianu); 3. Macierz świata sześcianu pełniącego rolę cienia zawierać będzie macierz rzutowania na płaszczyznę. Taka macierz jest w XNA udostępniana przez metodę Matrix.CreateShadow. Niestety jak wspomniałem w MonoGame 3 nadal takiej metody nie znajdziemy! Ale nie szkodzi, samodzielnie napiszemy analogiczną metodę w klasie Game1 rozszerzając ją nawet o możliwość rzutowania perspektywicznego: static Matrix CreateShadowMatrix(Vector3 lightposition, Plane plane, bool nieskończenieodległeźródłoświatła = true) Vector4 N = new Vector4(plane.Normal, plane.d); Vector4 L = new Vector4(lightPosition, nieskończenieodległeźródłoświatła? 0 : 1); float alfa = Vector4.Dot(N, L); Matrix m = new Matrix(); m.m11 = alfa - N.X * L.X; m.m22 = alfa - N.Y * L.Y; m.m33 = alfa - N.Z * L.Z; m.m44 = alfa - N.W * L.W; m.m21 = -N.Y * L.X; m.m31 = -N.Z * L.X; m.m41 = -N.W * L.X; m.m12 = -N.X * L.Y; m.m32 = -N.Z * L.Y; m.m42 = -N.W * L.Y; m.m13 = -N.X * L.Z; m.m23 = -N.Y * L.Z; m.m43 = -N.W * L.Z;
3 m.m14 = -N.X * L.W; m.m24 = -N.Y * L.W; m.m34 = -N.Z * L.W; return m; 4. Ponieważ oświetlenie jest nieruchome, możemy zdefiniować stałą macierz rzutowania jako pole klasy Game1 (stała d opisuje odległość od środka układu współrzędnych do górnej płaszczyzny prostopadłościanu pełniącego rolę podłoża): const float d = 2-0.1f; static Matrix macierzrzutowanianapodłoże = CreateShadowMatrix(new Vector3(3, 5, 3), new Plane(Vector3.Up, d), false); 5. Dysponując tą metodą, w metodzie Game1.Update przypisujemy sześcianowi obracającą się macierz świata pomnożoną dodatkowo przez macierz rzutowania na podłoże: sześcian.world *= Matrix.CreateRotationX(gameTime.ElapsedGameTime.Milliseconds / f) * Matrix.CreateRotationY(gameTime.ElapsedGameTime.Milliseconds / f); cieńsześcianu.world = sześcian.world * macierzrzutowanianapodłoże; 6. Płaszczyzna wskazana w macierzy rzutowania (obiekt typu Plane) została utworzona przez wskazanie wektora normalnego (wersor skierowany do góry) oraz odległości płaszczyzny od początku układu współrzędnych. Jeżeli prostopadłościan pełniący rolę podłoża jest obniżony o 1.75, a jego grubość równa jest 0.1, to górna płaszczyzna podłoża jest na wysokości I właśnie taką wartość podałem w konstruktorze klasy Plane. Efekt widoczny jest na rysunku 10. Rysunek 10. Drugi sześcian rysowany dokładnie na płaszczyźnie podłoża 7. Wyraźnie widoczny jest błąd dwa obiekty rysowane są na tej samej płaszczyźnie i trudno przewidzieć, który będzie widoczny, a który zostanie przesłonięty. Aby tego uniknąć warto wyłączyć bufor głębi na czas rysowania sceny. Jednak aby nie modyfikować komponentu Prostopadloscian możemy też zastosować prosty trik możemy przesunąć płaszczyznę rzutowania minimalnie ponad płaszczyznę podłoża. static Matrix macierzrzutowanianapodłoże = CreateShadowMatrix(new Vector3(3, 5, 3), new Plane(Vector3.Up, d f), false); 8. Kolejną rzeczą, którą należy się zająć jest kolor cienia. Może zależeć od koloru podłoża, ale może być po prostu czarny wszystko zależy od efektu jaki chcemy uzyskać (por. rysunki 11). Warto utworzyć dla obiektu pełniącego rolę cienia osobny efekt, w którym nie włączymy
4 oświetlenia cień powinien być jednolity. W tym celu do metody Game1.Initialize dodajmy następujące instrukcje: BasicEffect efektcienia = (BasicEffect)efekt.Clone(); efektcienia.ambientlightcolor = Color.Black.ToVector3(); efektcienia.diffusecolor = Color.White.ToVector3(); efektcienia.specularcolor = Color.Black.ToVector3(); cieńsześcianu = new Prostopadloscian(this, efektcienia, 1.5f, 1.5f, 1.5f, Color.DarkGreen); this.components.add(cieńsześcianu); Rysunek 11. Całkowicie czarny cień (z lewej) i półcień z kolorem dopasowanym do podłoża ZROBIĆ RYSUNKI Z RZUTOWANIEM Z NIESKOŃCZONOŚCI (IZOMETRYCZNYM) I PERSPEKTYWICZNYM W PRZYPADKU PERSPEKTYWY MRUGANIE. W PRZYPADKU IZOMETRYCZNEGO ZMIANA KOLORU Zaletą generowania cieni za pomocą metody rzutowania jest jej prostota i łatwość implementacji. Wadą to że nadaje się jedynie do tworzenia cieni na jednej, dużej płaszczyźnie. Cień jest rzeczywistym obiektem rysowanym w przestrzeni sceny (nawet jeżeli spłaszczonym) i trudno myśleć o jego przycinaniu lub zaginaniu, jeżeli podłoże miałoby skomplikowany kształt. Mieszanie kolorów Model Phonga imituje zjawiska odbijania światła od obiektów znajdujących się na scenie i rozpraszania go. Są jednak przedmioty, które nie tylko odbijają światło, ale również przepuszczają je. Innymi słowy są częściowo przezroczyste. Z drugiej strony powietrze, którego obecność jest zwykle ignorowana, może nie być doskonale przezroczysta. Przykładem jest na przykład zamglony poranek. Oba te zjawiska: przezroczystości i mgły można w grafice 3D imitować za pomocą techniki nazywanej mieszaniem kolorów. Przezroczystość Wczytajmy projekt z katalogu ***. W projekcie tym, w metodzie Game1.Initialize zdefiniowane są dwa trójkąty (czerwony i biały), których werteksy znajdują się w następujących punktach: Color kolor1 = Color.Red; Color kolor2 = Color.White; float z0 = 0.1f; VertexPositionColor[] tablicawerteksów = new VertexPositionColor[] //trójkąt biały new VertexPositionColor(new Vector3(1,-1,-z0), kolor1), new VertexPositionColor(new Vector3(-1,-1,-z0), kolor1), new VertexPositionColor(new Vector3(0,1,-z0), kolor1), //trójkąt czerwony new VertexPositionColor(new Vector3(1,-1,z0), kolor2),
5 ; new VertexPositionColor(new Vector3(-1,-1,z0), kolor2), new VertexPositionColor(new Vector3(0,1,z0), kolor2) Zdefiniowane jest także pole efekt, ale bez włączania domyślnego oświetlenia. Oba trójkąty obracane są dzięki mnożeniu w metodzie Game1.Update macierzy świata przez macierz obrotu wokół osi OY: efekt.world *= Matrix.CreateRotationY(gameTime.ElapsedGameTime.Milliseconds / f); Aby trójkąty były widoczne cały czas podczas obrotu wyłączony jest mechanizm usuwania tylnych powierzchni: GraphicsDevice.RasterizerState = RasterizerState.CullNone; Oba trójkąty rysowane są jednym wywołaniem metody gd.drawuserprimitives: protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.Black); GraphicsDevice.SetVertexBuffer(buforWerteksów); foreach (EffectPass p in efekt.currenttechnique.passes) p.apply(); GraphicsDevice.DrawPrimitives( PrimitiveType.TriangleList, 0, 2); base.draw(gametime); Umieśćmy teraz w metodzie Game1.Initialize polecenia włączające mechanizm mieszania kolorów: BlendState bs = new BlendState(); bs.colorsourceblend = Blend.SourceAlpha; bs.alphasourceblend = Blend.SourceAlpha; bs.colordestinationblend = Blend.InverseSourceAlpha; bs.alphadestinationblend = Blend.InverseSourceAlpha; bs.alphablendfunction = BlendFunction.Add; GraphicsDevice.BlendState = bs; Ustaliliśmy w ten sposób funkcję jaka jest używania do mieszania. W naszym przypadku kolor każdego piksela nowego trójkąta umieszczanego na tle innych narysowanych wcześniej jest wynikiem sumowania koloru nowego trójkąta (source) i tła (destination) z wagami odpowiadającymi wartości współrzędnej A koloru nowego trójkąta tj. RGB na ekranie = A * RGB nowego trójkąta + (1-A) * RGB tło. Oczywiście to sumowanie jest wykonywane dla każdej składowej R, G i B koloru oddzielnie. Należy także pamiętać, że A wskazuje na nieprzezroczystość obiektu, a nie odwrotnie. Zatem im nowy trójkąt jest mniej przezroczysty, tym jego waga w powyższej sumie rośnie, a waga tła maleje. Po skompilowaniu i uruchomieniu gry zobaczymy parę trójkątów (rysunek 12), które nie są przezroczyste, ale też nie powinno to być niespodzianką skoro do ich rysowania użyte są kolory, których współrzędna A (kanał alfa) równa jest 255 (maksymalna nieprzezroczystość).
6 Rysunek 12. Dwa nieprzezroczyste trójkąty Zmieńmy zatem kolor białego trójkąta tak, aby był półprzezroczysty. Wystarczy zmienić definicję pola kolor2 w następujący sposób: static Color kolor2 = new Color(Color.White, 128); Zgodnie z przewidywaniami biały trójkąt przyjmie rolę firanki i stanie się półprzezroczysty (rysunek 13, lewy). Tam, gdzie jego kolor sumuje się z czarnym tłem przedni trójkąt stanie się szary, a na tle tylniego trójkąta będzie różowy. Nasz mózg, który dąży do domykania kształtów będzie widział dwa trójkąty jeden za drugim. Podczas obrotu, w momencie, w którym nieprzezroczysty czerwony trójkąt będzie z przodu, będzie przesłaniał biały trójkąt (rysunek 13, prawy). Rysunek 13. Biały trójkąt jest półprzezroczysty Zachęceni tym sukcesem zmieńmy także kolor czerwonego trójkąta tak, aby jego współrzędna A miała wartość 128: static Color kolor1 = new Color(Color.Red, 128); Kolor czerwony stał się ciemniejszy, bo sumuje się teraz z czarnym kolorem tła (rysunek 14, lewy). W efekcie kolor białego trójkąta także widzi tło - w 25% wpływa ono na jego kolor w tej części, w której przesłania trójkąt czerwony i w 50% w pozostałych punktach. Tak powinno być. Niestety rozczarujemy się, gdy trójkąty obrócą się do nas tyłem. Ciemny trójkąt czerwony nie zostanie rozjaśniony przez znajdujący się teraz za nim trójkąt biały (rysunek 14, prawy).
7 Rysunek 14. Tu trójkąt czarny również powinien być półprzezroczysty Dzieje się tak gdyż w konflikt wchodzą bufor głębi i mechanizm mieszania kolorów, który sprawia że ważna staje się kolejność rysowania trójkątów. Bufor głębi można sobie wyobrazić jako dwuwymiarową macierz o wielkości odpowiadającej tablicy pikseli renderowanego obrazu sceny przechowującą odległość od kamery obiektów odpowiedzialnych za każdy piksel. W trakcie rysowania nowego obiektu odległość od kamery odpowiadająca nowym pikselom porównywana jest z tymi w buforze głębi i rysowana tylko, jeżeli ten fragment nowej figury jest bliżej. Wówczas aktualizowana jest też wartość w buforze. Załóżmy, że w buforze jest już informacja o czerwonym trójkącie, który jest rysowany jako pierwszy. Jego kolor został wcześniej zmieszany z czarnym tłem. Teraz przystępujemy do rysowania białego trójkąta, który jest dalej od kamery niż czerwony. Mechanizm mieszania kolorów miesza kolor białego i czerwone trójkąta, ale bufor głębi, który jest sprawdzany później wskazuje, że to nie biały, a czerwony trójkąt jest bliżej kamery. W efekcie na ekranie pojawi się kolor ciemnoczerwonego trójkąta, a wymieszany kolor zostanie zignorowany. Czy jest jakieś rozwiązanie tego problemu? Można oczywiście wyłączyć bufor głębi poleceniami: DepthStencilState dss = new DepthStencilState(); dss.depthbufferenable = false; GraphicsDevice.DepthStencilState = dss; W najprostszych przypadkach, w których kanał alfa ustawiony jest na 50% i na scenie są jedynie półprzezroczyste przedmioty, może to dać jako takie rezultaty (rysunki 15). Rysunek 15. Efekt wyłączenia bufora głębi W przypadku, gdy nieprzezroczystość obrazów jest różna, kolejność ich rysowania wpływa na kolor. Można się z tym uporać stosując mieszanie sumujące (additive blending):
8 RGB na ekranie = A * RGB nowego trójkąta + RGB tło. Wymaga to tylko jednej modyfikacji w naszym kodzie, a mianowicie ustawienia drugiej z wag równej 1: bs.colordestinationblend = Blend.One; bs.alphadestinationblend = Blend.One; To rozwiązanie jest powszechnie stosowane, ale nawet ono nie gwarantuje w pełni poprawnych rezultatów. Sposób najlepszy, ale zwykle wymagający sporo wysiłku, to sortowanie przezroczystych obiektów. Po pierwsze należy je rysować po wszystkich obiektach nieprzezroczystych. Po drugie należy je rysować w kolejności od najdalszego do najbliższego kamery. W naszym przypadku, w którym na scenie są tylko dwa obiekty, wprowadzenie sortowania jest łatwe: float kąt = 0;... protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); kąt += gametime.elapsedgametime.milliseconds / f; if (kąt > MathHelper.TwoPi) kąt = 0; efekt.world = Matrix.CreateRotationY(kąt); base.update(gametime); protected override void Draw(GameTime gametime) bool czerwonypierwszy = (kąt > 0 && kąt < MathHelper.PiOver2) (kąt > 3 * MathHelper.PiOver2 && kąt < MathHelper.TwoPi); GraphicsDevice.Clear(Color.Black); GraphicsDevice.SetVertexBuffer(buforWerteksów); foreach (EffectPass p in efekt.currenttechnique.passes) p.apply(); if (czerwonypierwszy) GraphicsDevice.DrawPrimitives( PrimitiveType.TriangleList, 0, 2); else GraphicsDevice.DrawPrimitives( PrimitiveType.TriangleList, 3, 1); GraphicsDevice.DrawPrimitives( PrimitiveType.TriangleList, 0, 1); base.draw(gametime); Możemy, a wręcz powinniśmy, teraz przywrócić właściwą wartość drugiej z wag oraz przede wszystkim przywrócić test głębi.
9 Mgła Mieszanie kolorów to nie tylko przezroczystość. Możemy dzięki niemu uzyskać także inne efekty. Jeżeli do koloru obiektu będziemy dodawać kolor biały lub żółty z wagą tym większą im większa jest odległość obiektu od kamery, uzyskamy efekt mgły. Należy jednak pamiętać, że ma on wpływ wyłącznie na kolor obiektów. Skoro mgła nie jest widoczna w tych miejscach, w których nie ma żadnych obiektów, tło powinno być w takim samym kolorze, jak mgła. Nie zobaczymy również smug światła charakterystycznych dla jesiennej mgły takie efekty wymagają sporo dodatkowego wysiłku. Umieśćmy na scenie wydłużony prostopadłościan w taki sposób, żeby kamera znajdowała się wewnątrz niego (rysunek 16, lewy). Oczywiście należy wyłączyć usuwanie tylnich powierzchni, abyśmy mogli zobaczyć wewnętrzną stronę prostopadłościanu zbudowaną z tylnych ścian trójkątów. Następnie umieśćmy w metodzie Initialize (przed utworzeniem prostopadłościanu, a po stworzeniu obiektu efektu) poniższy fragment kodu ustawiający parametry mgły. Efektem będzie pobielenie tych części pudełka, które znajdują się daleko od kamery (rysunek 16, prawy). efekt.fogstart = 0.2f; efekt.fogend = 10f; efekt.fogcolor = Color.White.ToVector3(); efekt.fogenabled = true; Rysunek 16. Mgła w tunelu Jeżeli tło będzie czarne, a scena ciemna to można użyć czarnej mgły jeżeli chcemy, żeby nasze przedmiotu oddalając się znikały w mroku. Czerwonej mgły można użyć, gdy bohater jest ranny (por. seria Call of Duty). UWAGA! Każda ściana zbudowana jest tylko z dwóch trójkątów. Dlatego w szerokim zakresie parametrów FogStart i FogEnd, daleki werteks będzie całkowicie biały, a bliski będzie miał oryginalny kolor. Kolory między nimi zależą już od interpolacji liniowej wykonywanej między shaderem werteksów, a pikseli. W efekcie w przypadku prostopadłościany modyfikacje tych dwóch własności nie przynoszą efektów. Zadania Zadanie 1 Zmodyfikować klasę Prostopadloscian w taki sposób, aby ściany rysowane były w kolejności od najdalszej od kamery do najbliższej. To pozwoli na prawidłowe rysowanie półprzezroczystego prostopadłościanu.
10 Podpowiedź: przygotuj kolekcję zawierającą aktualne położenia środków ścian oraz ich pozycję w buforze werteksów. Sortowanie tej kolekcji względem położenia środków (po uwzględnieniu macierzy świata i widoku) pozwoli na ustalenie kolejności rysowania ścian. Zadanie 2 Przygotować projekt, w którym sfera, walec i stożek rzucają cień na płaskie podłoże.
Rozdział 5 Oświetlenie: cienie własne i rzucane. Mieszanie kolorów
Rozdział 5 Oświetlenie: cienie własne i rzucane. Mieszanie kolorów Wersja z 2014-03-29 Trudno przecenić rolę światła w grafice 3D. Podobnie jak w kinie, to dzięki oświetleniu nasz umysł daje się nabierać
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
Rozdział 4 Komponenty gry na przykładzie prostopadłościanu
Rozdział 4 Komponenty gry na przykładzie prostopadłościanu Wersja z 2014-03-21 Budowanie gry, nawet stosunkowo prostej, to spore wyzwanie dla programisty. Bardzo łatwo zgubić się w dużej ilości linii kodu
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:
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
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
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
Programowanie telefonów z Windows Phone 7, cz. 3
Programowanie telefonów z Windows Phone 7, cz. 3 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
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
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
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
Animowana grafika 3D. Opracowanie: J. Kęsik.
Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie
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
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
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:
Trójwymiarowa grafika komputerowa rzutowanie
Trójwymiarowa grafika komputerowa rzutowanie Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Rzutowanie w przestrzeni 3D etapy procesu rzutowania określenie rodzaju rzutu określenie
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
Wprowadzenie do rysowania w 3D. Praca w środowisku 3D
Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać
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.
TEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza
Plan wykładu Wykład 3 Rzutowanie prostokątne, widoki, przekroje, kłady 1. Rzutowanie prostokątne - geneza 2. Dwa sposoby wzajemnego położenia rzutni, obiektu i obserwatora, metoda europejska i amerykańska
Transformacje obiektów 3D
Synteza i obróbka obrazu Transformacje obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Lokalny układ współrzędnych Tworząc model obiektu, zapisujemy
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
Rozdział 5 Oświetlenie: cienie własne
Rozdział 5 Oświetlenie: cienie własne Wersja z 2014-04-04 Trudno przecenić rolę światła w grafice 3D. Podobnie jak w kinie, to dzięki oświetleniu nasz umysł daje się nabierać i obraz widziany na płaskim
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.
0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do
0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi
Π 1 O Π 3 Π Rzutowanie prostokątne Wiadomości wstępne
2. Rzutowanie prostokątne 2.1. Wiadomości wstępne Rzutowanie prostokątne jest najczęściej stosowaną metodą rzutowania w rysunku technicznym. Reguły nim rządzące zaprezentowane są na rysunkach 2.1 i 2.2.
Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)
Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy) klasa 3. PAZDRO Plan jest wykazem wiadomości i umiejętności, jakie powinien mieć uczeń ubiegający się o określone oceny na poszczególnych etapach edukacji
Rysowanie punktów na powierzchni graficznej
Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.
1. Potęgi. Logarytmy. Funkcja wykładnicza
1. Potęgi. Logarytmy. Funkcja wykładnicza Tematyka zajęć: WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY KL. 3 POZIOM PODSTAWOWY Potęga o wykładniku rzeczywistym powtórzenie Funkcja wykładnicza i jej własności
Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.
Ćwiczenie 5 - Tworzenie animacji Podczas tworzenia prostej animacji wykorzystywać będziemy okno Timeline domyślnie ustawione na dole okna Blendera (Rys. 1). Proces tworzenia animacji polega na stworzeniu
Wykład 5: Klasy cz. 3
Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu
Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.
Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. #include #include #include #include
Przekształcanie wykresów.
Sławomir Jemielity Przekształcanie wykresów. Pokażemy tu, jak zmiana we wzorze funkcji wpływa na wygląd jej wykresu. A. Mamy wykres funkcji f(). Jak będzie wyglądał wykres f ( ) + a, a stała? ( ) f ( )
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
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ą
Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok
SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki
Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.
Przyszedł czas na rysowanie własnych figur, czyli prymitywy, obracanie bitmap, oraz alpha blending-czyli półprzezroczystość. Będę opisywał tylko rzeczy nowe-nie ma potrzeby abym się powtarzał. Zaczynajmny
Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE
Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE Tworzy światło punktowe emitujące światło we wszystkich kierunkach. Lista monitów Wyświetlane są następujące monity. Określ położenie źródłowe : Podaj wartości
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
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
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
Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows
Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Phone 7. Skąd i jakie paczki pobrać. Coś napiszemy :-)
Geometria w R 3. Iloczyn skalarny wektorów
Geometria w R 3 Andrzej Musielak Str 1 Geometria w R 3 Działania na wektorach Wektory w R 3 możemy w naturalny sposób dodawać i odejmować, np.: [2, 3, 1] + [ 1, 2, 1] = [1, 5, 2] [2, 3, 1] [ 1, 2, 1] =
1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych
Instrukcja laboratoryjna 9 Grafika komputerowa 3D Temat: Manipulowanie przestrzenią Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Układ
Laboratorium 1. Część I. Podstawy biblioteki graficznej OpenGL.
Laboratorium 1 Część I Podstawy biblioteki graficznej OpenGL. I. Konfiguracja środowiska 1. Ściągamy bibliotekę freeglut i rozpakujemy do głównego folderu dysku systemowego np. C:\freeglut 2. Uruchamiamy
Animacje z zastosowaniem suwaka i przycisku
Animacje z zastosowaniem suwaka i przycisku Animacja Pole równoległoboku Naukę tworzenia animacji uruchamianych na przycisk zaczynamy od przygotowania stosunkowo prostej animacji, za pomocą, której można
I. Potęgi. Logarytmy. Funkcja wykładnicza.
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ LICEUM OGÓLNOKSZTAŁCĄCEGO ZAKRES PODSTAWOWY I. Potęgi. Logarytmy. Funkcja wykładnicza. dobrą, bardzo - oblicza potęgi o wykładnikach wymiernych; - zna
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
Przekształcenia geometryczne. Dorota Smorawa
Przekształcenia geometryczne Dorota Smorawa Przekształcenia geometryczne Na poprzednich laboratoriach już dowiedzieliśmy się, na czym polegają podstawowe przekształcenia geometryczne. Trzy podstawowe przekształcenia
kurs rysunku wrocław grupa początkująca
kurs rysunku wrocław grupa początkująca Zajęcia Zadanie 1 z 2 czas na zadanie 90min Krok Temat Trzymając kartkę w poziomie podziel ją na dwie równe części. Następnie na wysokości 1/3 liczonej od dołu kartki
3.7. Wykresy czyli popatrzmy na statystyki
3.7. Wykresy czyli popatrzmy na statystyki Współczesne edytory tekstu umożliwiają umieszczanie w dokumentach prostych wykresów, służących do graficznej reprezentacji jakiś danych. Najprostszym sposobem
4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Rozdział 1 Podstawowe koncepcje grafiki 3D
Rozdział 1 Podstawowe koncepcje grafiki 3D Wersja z 2014-03-20 Projektowanie gry musimy zacząć od przygotowania sobie środowiska pracy. Zakładam, że Czytelnik posiada już doświadczenie w programowaniu
DARMOWA PRZEGLĄDARKA MODELI IFC
www.bimvision.eu DARMOWA PRZEGLĄDARKA MODELI IFC BIM VISION. OPIS FUNKCJONALNOŚCI PROGRAMU. CZĘŚĆ I. Spis treści OKNO GŁÓWNE... 1 NAWIGACJA W PROGRAMIE... 3 EKRAN DOTYKOWY... 5 MENU... 6 ZAKŁADKA WIDOK....
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
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
Ś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
Techniki generowania cieni w grafice 3D z użyciem OpenGL
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Zakład Mechaniki Kwantowej Radosław Płoszajczak nr albumu: 177.823 Praca magisterska na kierunku fizyka techniczna Techniki
RZUTOWANIE PROSTOKĄTNE
RZUTOWANIE PROSTOKĄTNE WPROWADZENIE Wykonywanie rysunku technicznego - zastosowanie Rysunek techniczny przedmiotu jest najczęściej podstawą jego wykonania, dlatego odwzorowywany przedmiot nie powinien
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Podstawy pozycjonowania CSS
Podstawy pozycjonowania CSS Żeby pokazać w jaki sposób przeglądarka rozkłada elementy na stronie posłużę się prostym przykładowym fragmentem kodu html. div id="before"
RYSUNEK TECHNICZNY BUDOWLANY RZUTOWANIE PROSTOKĄTNE
RYSUNEK TECHNICZNY BUDOWLANY MOJE DANE dr inż. Sebastian Olesiak Katedra Geomechaniki, Budownictwa i Geotechniki Pokój 309, pawilon A-1 (poddasze) e-mail: olesiak@agh.edu.pl WWW http://home.agh.edu.pl/olesiak
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
3. FUNKCJA LINIOWA. gdzie ; ół,.
1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta
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
FUNKCJE. Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 5 Teoria funkcje cz.1. Definicja funkcji i wiadomości podstawowe
1 FUNKCJE Definicja funkcji i wiadomości podstawowe Jeżeli mamy dwa zbiory: zbiór X i zbiór Y, i jeżeli każdemu elementowi ze zbioru X przyporządkujemy dokładnie jeden element ze zbioru Y, to takie przyporządkowanie
Ćwiczenia nr 4. TEMATYKA: Rzutowanie
TEMATYKA: Rzutowanie Ćwiczenia nr 4 DEFINICJE: Rzut na prostą: rzutem na prostą l (zwaną rzutnią) w kierunku rzutowania k (k l) nazywamy przekształcenie płaszczyzny przyporządkowujące: a) Punktom prostej
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);
Algorytm SAT. Marek Zając 2012. Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora.
Marek Zając 2012 Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora. Spis treści 1. Wprowadzenie... 3 1.1 Czym jest SAT?... 3 1.2 Figury wypukłe...
Tworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.
1 Spis treści Ćwiczenie 1...3 Tworzenie nowego rysunku...3 Ustawienia Siatki i Skoku...4 Tworzenie rysunku płaskiego...5 Tworzenie modeli 3D...6 Zmiana Układu Współrzędnych...7 Tworzenie rysunku płaskiego...8
Logo Komeniusz. Gimnazjum w Tęgoborzy. Mgr Zofia Czech
Logo Komeniusz Gimnazjum w Tęgoborzy Mgr Zofia Czech to język strukturalny, umożliwiający dzielenie algorytmu na wyraźnie wyodrębnione problemy, których rozwiązanie opisuje się za pomocą procedur (tzn.
Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne
46 III. Przekształcenia w przestrzeni trójwymiarowej Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne Złożone obiekty trójwymiarowe można uważać,
IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące
IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...
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
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
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
Grafika 3D program POV-Ray - 94 -
Temat 12: Polecenie blob parametry i zastosowanie do tworzenia obiektów. Użycie polecenia blob (kropla) jest wygodnym sposobem tworzenia gładkiego przejścia pomiędzy bryłami (kulami lub walcami). Możemy
Grafika komputerowa Tekstury
. Tekstury Tekstury są dwuwymiarowymi obrazkami nakładanymi na obiekty lub ich części, w celu poprawienia realizmu rysowanych brył oraz dodatkowego określenia cech ich powierzchni np. przez nałożenie obrazka
Mieszanie kolorów. Dorota Smorawa
Mieszanie kolorów Dorota Smorawa Tworzenie efektu przezroczystości Biblioteka OpenGL umożliwia nam tworzenie bardzo ciekawych efektów związanych z przezroczystością i odbiciem. Aby zrealizować efekt przezroczystości
Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP
Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP Niniejszy tutorial jest wyłączną własnością Doroty Ciesielskiej Zapraszam na moją stronę http://www.direktorek03.wm studio.pl oraz
Programowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
Definicja obrotu: Definicja elementów obrotu:
5. Obroty i kłady Definicja obrotu: Obrotem punktu A dookoła prostej l nazywamy ruch punktu A po okręgu k zawartym w płaszczyźnie prostopadłej do prostej l w kierunku zgodnym lub przeciwnym do ruchu wskazówek
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
Obiekt 2: Świątynia Zeusa
Obiekt 2: Świątynia Zeusa Rys 2-1. Wyobrażenie greckiej świątyni ku czci Zeusa Prezentowane w tym dokumencie zadanie polega na narysowaniu bryły, będącej wyobrażeniem greckiej świątyni ku czci Zeusa. Poniżej
Pytania do spr / Własności figur (płaskich i przestrzennych) (waga: 0,5 lub 0,3)
Pytania zamknięte / TEST : Wybierz 1 odp prawidłową. 1. Punkt: A) jest aksjomatem in. pewnikiem; B) nie jest aksjomatem, bo można go zdefiniować. 2. Prosta: A) to zbiór punktów; B) to zbiór punktów współliniowych.
ANDROID. OpenGL ES 1.0. Tomasz Dzieniak
ANDROID OpenGL ES 1.0 Tomasz Dzieniak Wymagania JRE & JDK 5.0 + IDE (Eclipse 3.3.1 + / Netbeans 7.0.0 +) Android SDK Starter Package Android SDK Components Pierwszy program Project name: OpenGL Build Target:
DZIAŁ 1. STATYSTYKA DZIAŁ 2. FUNKCJE
DZIAŁ 1. STATYSTYKA poda pojęcie diagramu słupkowego i kołowego (2) poda pojęcie wykresu (2) poda potrzebę korzystania z różnych form prezentacji informacji (2) poda pojęcie średniej, mediany (2) obliczy
WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc
WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc 1, Ciągi zna definicję ciągu (ciągu liczbowego); potrafi wyznaczyć dowolny wyraz ciągu liczbowego określonego wzorem ogólnym;
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Górnicki Mateusz 17681
Streszczenie referatu pt.: Obróbka i montaż wideo w programie Sony Vegas -ścieżki audio/wideo, przejścia, filtry, rendering i inne Tytuł streszczenia: Maskowanie i animacja w programie Sony Vegas Pro Data
Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)
Grafika w Pascalu. Do tej pory, tworząc programy w Pascalu, wykorzystywaliśmy jedynie tryb tekstowy. Jednak Pascal, tak jak i inne języki programowania, umoŝliwia korzystanie równieŝ z trybu graficznego.
MATERIAŁY DYDAKTYCZNE. Streszczenie: w ramach projektu nr RPMA /16. Praca na warstwach w programie GIMP
MATERIAŁY DYDAKTYCZNE w ramach projektu nr RPMA.10.01.01-14-7298/16 Streszczenie: Praca na warstwach w programie GIMP Spis treści 1. Wstęp... 2 2. Stosowanie maski warstwy... 2 3. Przenikanie warstw...
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
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
Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych
Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych Wprowadzenie Utworzone elementy bryłowe należy traktować jako wstępnie wykonane elementy, które dopiero po dalszej obróbce będą gotowymi częściami
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
C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
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
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...........................