Draver/GRK/cw3_result.jpg. Grafika 3D Wprowadzenie.

Slides:



Advertisements
Podobne prezentacje
RYSUNKU TECHNICZNEGO GEOMETRYCZNE ZASADY
Advertisements

Monitory i systemy graficzne
Modele oświetlenia Punktowe źródła światła Inne
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
URZĄDZENIA PERYFERYJNE - WEJŚCIA
Krzysztof Skabek, Przemysław Kowalski
PROGRAMOWANIE STRUKTURALNE
Grafika 3D.
Implementacja algorytmów na procesory kart graficznych
Przekształcenia afiniczne
Grafika komputerowa Wykład 2 Wykorzystanie podstawowych usług bibliotecznych (API) w operacjach graficznych.
Grafika komputerowa Wykład 8 Wstęp do wizualizacji 3D
Interaktywny edytor terenu
BUDOWA WEWNĘTRZNA KOMPUTERA
Opis, budowa, zasada działania, funkcje, technologie
Rzutowanie 3D  2D Rzutowanie planarne Rzut równoległe
Eliminacja powierzchni niewidocznych Wyznaczanie powierzchni widocznych Które powierzchnie, krawędzie i punkty są widoczne ze środka rzutowania (albo wzdłuż.
Paweł Kramarski Seminarium Dyplomowe Magisterskie 2
Geometria obrazu Wykład 13
Bryły geometryczne Konrad Wawrzyńczak kl. IIIa Bryły obrotowe
Podstawy grafiki komputerowej wykład I
Wstęp do interpretacji algorytmów
Temat : Części komputera
Budowa Komputera.
Przegląd ważniejszych bibliotek używanych przy projekcie Quall.
trójwymiarowy labirynt z fizyką i przeszkodami
Wykonał: Tomasz Nocek kl. III B
Modele (graficznej reprezentacji) danych przestrzennych
Współrzędne jednorodne
Współrzędne jednorodne
Rzut równoległy Rzuty Monge’a - część 1
Instytut Tele- i Radiotechniczny WARSZAWA
Budowa komputera.
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Modelowanie elementów świata 3D przy użyciu biblioteki Managed Directx
Grafika komputerowa Wykład 11 Analiza widoczności
Karty graficzne Karta graficzna, często określana też mianem akcelerator grafiki, to element komputera tworzący sygnał dla monitora. Podstawowym zadaniem.
Programowanie gier komputerowych Tomasz Martyn
Urządzenia wewnętrzne komputera
Budowa komputera.
Zaawansowane techniki renderingu
Rzuty Monge’a cz. 1 dr Renata Jędryczka
Temat: Karta graficzna, karta dźwiękowa.
Podsystem graficzny i audio
Buforowanie D e f i n i c j a.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Figury przestrzenne.
Budowa komputera ProProgramer.
Elementy zestawu komputerowego
Grafika komputerowa Jest to dziedzina rozwijająca się niezwykle dynamicznie, a jednocześnie wymagająca znacznej mocy obliczeniowej. Łatwo możemy to zaobserwować,
Wojciech Toman. Dotychczasowe podejście do oświetlenia Idea deferred shadingu Typowe problemy wraz z propozycjami rozwiązania Optymalizacja wydajności.
Algorytm Z-Bufora (bufora głębokości)
Budowa wewnętrzna KOMPUTERA
Grafika i komunikacja człowieka z komputerem
Bryły.
Grafika i komunikacja człowieka z komputerem
Grafika i komunikacja człowieka z komputerem
Teksturowanie oraz algorytmy cieniowania
Budowa komputera Autor: Piotr Morawski.
Wstęp do interpretacji algorytmów
IFS, IFSP I GRA W CHAOS ZBIORY FRAKTALNE I WYBRANE SPOSOBY ICH GENEROWANIA.
Urządzenia wyjściowe.
Grafika 2d - Podstawy. Kontakt Daniel Sadowski FTP: draver/GRK - wyklady.
Informatyka Zakres rozszerzony. GEOMETRIA - (gr. γεωμετρία; geo – ziemia, metria – miara) dział matematyki badający figury i zależności między nimi.gr.
S KANER TĘCZÓWKI OKA Praca dyplomowa inżynierska – Maciej Stępski
PODSTAWY PRACY W PROGRAMIE AUTOCAD OPISYWANIE RYSUNKÓW: ‒style tekstu; ‒wprowadzanie tekstu tekst wielowierszowy tekst jednowierszowy ‒edycja tekstu. WYMIAROWANIE.
1.problem próbkowania (sampling problem) dobór charakterystycznych punktów powierzchni w celu uzyskania najlepszego efektu przy minimalizacji ilości danych.
Rzutowania Rzutowanie jest przekształceniem przestrzeni trójwymiarowej na przestrzeń dwuwymiarową. Rzutowanie polega na poprowadzeniu prostej przez dany.
Wiktoria Dobrowolska. Grafika komputerowa - dział informatyki zajmujący się wykorzystaniem komputerów do generowania obrazów oraz wizualizacją rzeczywistych.
Budowa Komputera Sebastian Basara 1AT. Menu Karta graficzna\ budowa Karta graficznabudowa CPU Pamięć RAM Pamięć ROM Pamięć HDD Płyta Główna.
Zapis prezentacji:

Draver/GRK/cw3_result.jpg

Grafika 3D Wprowadzenie

CSG Constructive solid geometry Bryły budowane są proceduralnie na podstawie kształtów prostych – kul, sześcianów, stożków itd. Dostępne są operacje boolowskie na zbiorach – suma, różnica i przecięcie Źródło: en.wikipedia.org

CSG CSG używana jest do modelowania wnętrz w silniku Unreal. Na ilustracji gra SWAT4

Voxels Voxel – ang. volumetric pixel. Trójwymiarowy odpowiednik piksela Pojedynczy voksel zawiera informacje o swojej pozycji względem sąsiadów oraz ewentualnie dodatkowe informacje o kolorze, gęstości itd. Reprezentacja wokselowa jest dyskretna Stosowana w głównie w medycynie i geodezji Źródło

Outcast

BREP Reprezentacja brzegowa Bryły opisane są za pomocą następujących elementów: –Punktów –Krawędzi –Ścian Topologia – wzajemne położenie elementów Geometria – równania opisujące elementy (równania prostych dla krawędzi, płaszczyzn dla ścianek)

BREP

BREP Przekształcenia macierzowe Macierz świata Macierz widoku Macierz projekcji

Macierz świata Przekształca obiekt z lokalnego na globalny układ współrzędnych Jest złożeniem macierzy skalowania, rotacji oraz translacji.

Przekształcenia punktów w R 3 Translacja

Przekształcenia punktów w R 3 Skalowanie

Przekształcenia punktów w R 3 Obrót wokół osi X

Przekształcenia punktów w R 3 Obrót wokół osi Y

Przekształcenia punktów w R 3 Obrót wokół osi Z

Macierz widoku Przekształca każdy obiekt z globalnego układu współrzędnych na układ współrzędnych kamery (którego środkiem jest punkt kamery)

Macierz projekcji Odpowiada soczewce w aparacie Transformuje obszar widzenia ze ściętego ostrosłupa w prostopadłościan

Field of View

Macierz projekcji Rzut perspektywicznyRzut ortogonalny

Rzut perspektywiczny

Rzut ortogonalny

BREP Eliminacja powierzchni niewidocznych Back-face culling Algorytm malarza Algorytm z buforem głębokości

Back-face culling Polega na usunięciu całych ścian, które są skierowane tyłem do kamery Wyznaczanie normalnych ścian Analiza kąta pomiędzy wektorem normalnym i „kierunkiem kamery”

Algorytm malarza Sortuje powierzchnie po odległości od kamery Wyświetla powierzchnie od najdalszej do najbliższej Nie zawsze poprawny

Algorytm z buforem głębokości (z-buffer) Bardzo uniwersalny Rzutuje ściany obiektów do płaszczyzny ekranu Dla każdego piksela rzutu obliczana jest odległość odpowiadającego mu punktu na scenie od kamery Jeżeli wartość głębokości piksela rzutu jest mniejsza niż zapisana w buforze, to jest ona zapisywana do bufora, a jego kolor zapamiętywany

Grafika 3D czasu rzeczywistego

Dane w postaci cyfrowej przesyłane są z CPU poprzez magistralę do procesora graficznego. W procesorze graficznym następuje dalsza obróbka obrazu a następnie trafia on do pamięci obrazu. Z tego miejsca dane cyfrowe linia po linii przetwarzane są przez układ RAMDAC na odpowiednie impulsy analogowe pozwalające na wyświetlenie obrazu. Generowanie obrazu (układ graficzny)

DirectX Jest to zestaw interfejsów programistycznych ułatwiających tworzenie gier oraz innych multimedialnych aplikacji w środowisku Windows Umożliwia niskopoziomowy dostęp do sprzętu, między innymi kart graficznych i dźwiękowych Alternatywą jest OpenGL rozwijany przez Khronos Group

Generowanie obrazu - GPU Potok wyświetlania Direct3D9

Wierzchołek opisany jest pozycją w przestrzeni trójwymiarowej (x, y, z) Opcjonalnie może posiadać dodatkowe informacje o płaszczyźnie trójkąta do którego należy, takie jak barwa czy wartość wektora normalnego N Vertex (wierzchołek)

Wierzchołki przechowywane są w jednowymiarowych tablicach – buforach Prymitywy wspierane przez Direct3D: –Lista punktów –Lista linii –Lista trójkątów –Pas trójkątów –Wachlarz trójkątów

Shadery (ang. shade, cień) Są to programy wykonywane bezpośrednio na GPU Geometry, vertex oraz pixel shaders GPU realizuje model SIMD – wiele podobnych (o takiej samej strukturze) pakietów danych przetwarzanych tym samym zestawem instrukcji

HLSL High Level Shading Language Stworzony przez Microsoft wysokopoziomowy język programowania shaderów zbliżony składnią do C Alternatywa dla GLSL z biblioteki OpenGL

Vertex shader Program vertex shader na wejściu otrzymuje strukturę opisującą pojedynczy wierzchołek –Pozycja –Normalna –Barwa –Koordynaty tekstury Wartości wyliczone przez vertex shader zostaną przekazane do pixel (fragment) shader’a Pojedyncze wywołanie shadera pracuje wyłącznie na danych jednego wierzchołka

Operacje na wierzchołkach Po przetworzeniu przez vertex shader usuwane są trójkąty odwrócone tyłem do kamery (backface culling) Eliminowane są także powierzchnie znajdujące się poza obszarem wyświetlanym (frustum culling) techpubs.sgi.com

Rasteryzacja Po przekształceniu geometrii sceny do przestrzeni kamery (poprzez wymnożenie przez macierz projekcji oraz widoku) następuje rasteryzacja Jest to proces zamiany obrazu wektorowego na rastrowy Określone zostaje które piksele obrazu końcowego odpowiadają którym fragmentom powierzchni trójkątów

Fragment shader Jest to shader wykonywany dla „pikseli” obrazu końcowego. Na wejściu otrzymuje dane zwrócone przez vertex shader Dane wejściowe są efektem liniowej interpolacji danych wyjściowych zwróconych przez vertex shader dla wierzchołków trójkąta na którym znajduje się dany fragment Na wyjściu zwraca barwę fragmentu, która jest zapisywana do bufora obrazu

Generowanie obrazu - RAMDAC RAMDAC (Random Access Memory Digital/Analog Converter) Pamięć karty graficznej jest wiersz po wierszu czytana przez RAMDAC. Łączy on poszczególne bajty i tak uzyskane wartości przekształca na analogowe poziomy napięcia. Generuje sygnały synchronizacji: – pionowy (VSYNC) określa początek i koniec obrazu – poziomy (HSYNC) określa początek i koniec wiersza Informacje te w postaci wygenerowanych przez RAMDAC sygnałów elektrycznych wysyłane są do monitora

Koniec Dziękuje za uwagę