Modelowanie elementów świata 3D przy użyciu biblioteki Managed Directx
Plan prezentacji Cel projektu Narzędzia i biblioteki Co modelujemy? Wstępne założenia projektu Podsumowanie
Cel projektu Baza wiedzy nt. modelowania otoczenia Podstawa dla aplikacji o tematyce grafiki interaktywnej Pokazówka? Prezentacja?
Narzędzia i biblioteki Środowisko Visual Studio 2010 Express Edition Język C# Biblioteka Managed DirectX 1.1 – funkcjonalność zbliżona do popularnej DirectX 9.0 Milkshape 3D – narzędzie do modelowania obiektów 3D Microsoft PIX – środowisko testowe (debugger)
Co modelujemy? Wyspa Woda Czołg Niebo
Wyspa
Wyspa Losowo generowana mapa wysokości 2D (heightmap) Siatka wierzchołków mapy (już 3D) generowana na podstawie w/w mapy wysokości Multiteksturowanie Zmiana poziomu detali tekstur
Niebo
Niebo Wielka kopuła wisząca nad światem Porusza się wraz z ruchem kamery Dynamicznie generowana mapa chmur (algorytm Perlin noise) Odcień nieba na podstawie gradientu 2D (oś x: czas, oś y: wysokość)
Woda
Woda Płaska siatka wierzchołków wody Technika mapowania wypukłości (bump-mapping) przy modelowaniu fal Efekt półprzezroczystej wody Lustrzane odbicie innych obiektów w tafli wody
Czołg
Czołg Model 3D wczytywany z 3 plików .x Możliwość poruszania się po planszy Obroty lufy
Efekty wizualne Shader’y – krótkie programy uruchamiane na karcie graficznej obrabiające wierzchołki siatek 3D (vertex-shaders) lub już bezpośrednio piksele obiektów 3D rzutowanych na płaszczyznę ekranu (pixel-shaders) Tzw. postprocessing obrazu Efekty podwodne Deszcz Efekty cząsteczkowe (miejscowe, zanikające): Dym Kurz
Inne efekty Zmiany oświetlenia w zależności od wirtualnej pory dnia 3 różne kamery Cienie czołgu na mapie Wystrzały – symulowanie grawitacji
Podsumowanie Pomyślnie zrealizowano połączenie wybranych elementów otoczenia w jedną całość Wiedza nt. modelowania otoczenia zebrana w jednym projekcie Możliwość wykorzystania projektu w aplikacjach z grafiką interaktywną
Wnioski Przyjemność kodowania w porównaniu do DirectX w języku C++ Biblioteka przestała być rozwijana na rzecz XNA Brak utalentowanego grafika w zespole utrudnia uzyskaniu „powalającego” efektu Programowanie grafiki – spowolnienie postępu
Obrazy wypożyczyliśmy ze stron… http://www.therainmakerblog.com/ http://www.fusetek.com/ http://www.algodoo.com/algobox/ http://www.freelegaladvicehelp.com/
Dziękujemy za uwagę! Jacek Gąsiorowski Paweł Rychlik 26.10.2010 Inf7.GKiO1. SD. Prowadzący: dr. N. Suszczańska