Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałSebestyjan Kapuściński Został zmieniony 9 lat temu
1
Teksturowanie obiektów z wykorzystaniem reprogramowalnych modułów do obliczania cieniowania Daniel Kos promotor: dr inż. Radosław Mantiuk Wydział Informatyki, Politechnika Szczecińska, 2003 Cel pracy: Implementacja wybranych technik teksturowania proceduralnego i ocena wydajności tych implementacji
2
Proces teksturowania
3
Tekstury proceduralne Definicja tekstury proceduralnej Kolor = F(x, y, z,...) Zalety nieskończona rozdzielczość małe zużycie pamięci parametryzacja możliwość animacji Wady czasami wymagają skomplikowanych obliczeń nie można uzyskać dowolnego obrazu
4
Tekstury proceduralne
5
kolor Cegła(x, y, wysokosc, szerokosc, odstep) { przesuniecie = szerokosc / 2.0 static k = 0.0 if ( k == 0.0) przesuniecie = 0.0 else przesuniecie = szerokosc / 2.0 xp = (x + przesuniecie) % (szerokosc + odstep) yp = y % (wysokosc + odstep) if (xp < odstep | | yp < odstep) return kolor_biały else return kolor_czerwony if (yp == 0.0 && x == 1.0) k = 1 − k }
6
Pixel i Vertex Shader
7
Dotychczasowe prace nad problemem B. Freudenberg, „Real-Time Stroke Textures”, Institut für Simulation und Graphik ATI Technologies Inc, „Ocean Water”, http://www.ati.com/developer/samples/oceanwater.html Arkadiusz Waliszewski, „Fractal”, http://www.cgshaders.org, 2002, Mark Harris, „Reaction Diffusion”, http://www.cgshaders.org, 2002 J. Kautz, W. Heidrichy, „Real-Time Bump Map Synthesis”, Max-Planck-Institut für Informatik 2000
8
Implementacja CząsteczkiKomórkiSzum Perlina 3D 317 instrukcji 51 mnożeń 87 dodawań 32 odrotności 33 odczyty tekstury 89 instrukcji 33 przeniesienia 12 dodawań 6 odrotności 6 pierwiastków 6 iloczynów skalarnych 6 porównań 1 odczyt tekstury 66 instrukcji 20 przeniesień 6 mnożeń 13 odrotności 6 pierwiastków 6 iloczynów skalarnych 1 odczyt tekstury
9
Analiza wydajnościowa Ilość klatek na sekundę zależy w głównej mierze od szybkości wypełniania układu, a nie od liczby wielokątów
10
Podsumowanie Za pomocą sprzętowych układów cieniowania można uzyskać szereg skomplikowanych efektów graficznych oraz dokonywać zaawansowanego teksturowania proceduralnego w czasie rzeczywistym Wydajność obecnych układów cieniowania, choć nie największa znacząco podnosi jakość grafiki w systemach czasu rzeczywistego Pojawienie się języków wyższego poziomu (Cg, HLSL) pozwoliło na prostą i szybką implementację oraz pozwoliło na uniezależnienie się od układów jednego producenta
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.