Grafika 3D na przykładzie XNA 3.1



Podobne dokumenty
Aplikacje Internetowe

Piotr Bubacz Cloud Computing

Wprowadzenie do programowania

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Aplikacje Internetowe

Plan wykładu. Akcelerator 3D Potok graficzny

ROZKŁADY MATERIAŁU PRZEDMIOT ELEMENTY INFORMATYKI KLASA IV, V I VI.

PRZEWODNIK PO PRZEDMIOCIE

1. Założenia i cele przedmiotu: 2. Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi:

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

Politechnika Poznańska, Instytut Informatyki, SUM-TWO

Spis treści. Wstęp... 11

KARTA KURSU. Grafika komputerowa

Karty graficzne możemy podzielić na:

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Zaawansowany kurs języka Python

True Space 3.2 KURS PODSTAWOWY. program można ściągn ąć za darmo ze strony Co to właściwie jest?

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

KARTA MODUŁU KSZTAŁCENIA

OpenGL i wprowadzenie do programowania gier

Wykład 4. Rendering (1) Informacje podstawowe

Zaawansowana Grafika Komputerowa

Techniki animacji komputerowej

Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje!

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

INŻYNIERIA OPROGRAMOWANIA

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

Rok akademicki: 2017/2018 Kod: JFM s Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Opis efektów kształcenia dla modułu zajęć

Grafika 3D i multimedia

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu

SYLABUS/KARTA PRZEDMIOTU

Wykaz osób pełniących funkcję opiekunów Warsztatów

dr inż. Jarosław Forenc

Profesjonalni i skuteczni - projekt dla pracowników branży telekomunikacyjnej

Grafika, fizyka, metody numeryczne : symulacje fizyczne z wizualizacją 3D / Jacek Matulewski [et al.]. Warszawa, Spis treści.

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

Projektowanie graficzne. Wykład 2. Open Office Draw

Unreal Engine w 24 godziny : nauka tworzenia gier / Aram Cookson, Ryan DowlingSoka, Clinton Crumpler. Gliwice, cop Spis treści.

Następnie uruchom b-link z Menu Start lub ponownie uruchom komputer.

Programowanie obiektowe

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Urządzenia zewnętrzne

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

PRZEWODNIK PO PRZEDMIOCIE

Referat Pracy Dyplomowej

Technologie sieciowe

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

INFORMATYKA KLASA IV

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 KOMPUTEROWA

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

OpenGL przezroczystość

SYLABUS/KARTA PRZEDMIOTU

Kierunek studiów Elektrotechnika Studia I stopnia. Geometria i grafika inżynierska Rok:

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie do programu 3ds Max THEBRAIN

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Sphere tracing: integracja z klasycznymi metodami symulacji i renderingu

Wymagania Uczeń zna zasady bezpiecznej pracy z komputerem. Uczeń stosuje się do regulaminu szkolnej pracowni komputerowej.

PRZEWODNIK PO PRZEDMIOCIE

Wymagania edukacyjne na ocenę z informatyki klasa 3

Autodesk 3D Studio MAX Teksturowanie modeli 3D

D O K U M E N T A C J A

Podstawy 3D Studio MAX

Animowana grafika 3D Laboratorium 1

Kryteria oceniania. Zajęcia komputerowe. Klasa IV

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

KARTA PRZEDMIOTU. Grafika w multimediach D1.11

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV

Gamepad VR z funkcją Bluetooth

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Narzędzia wizualizacji - AutoCAD 2013 PL

Dokumentacja projektu QUAIKE Architektura oprogramowania

Mikołaj Kania Waldemar Korłub Jakub Krajewski

Opis przedmiotu zamówienia

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

AutoCAD projektowanie I poziom

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Wymagania Uczeń zna zasady bezpiecznej pracy z komputerem. Uczeń stosuje się do regulaminu szkolnej pracowni komputerowej.

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

4. Oprogramowanie OCR do rozpoznawania znaków 39

Webowy generator wykresów wykorzystujący program gnuplot

Rzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D. Autor: Olga Głogowska AiR II

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Technologia informacyjna. 2. KIERUNEK: Logistyka. 3. POZIOM STUDIÓW: I stopnia

Opis przedmiotu zamówienia

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Transkrypt:

Jacek Matulewski, Tomasz Dziubak Grafika 3D na przykładzie XNA 3.1 ITA-106 Wersja 1.02 (XNA 3.1, PS 2.0) Toruo, listopad 2010

2010 Jacek Matulewski, Tomasz Dziubak. Autor udziela prawa do bezpłatnego kopiowania i dystrybuowania wśród pracowników uczelni oraz studentów objętych programem ITAcademy. Wszelkie informacje dotyczące programu można uzyskad: pledu@microsoft.com. Wszystkie inne nazwy firm i producentów wymienione w niniejszym dokumencie mogą byd znakami towarowymi zarejestrowanymi przez ich właścicieli. Inne produkty i nazwy firm używane w treści mogą byd nazwami zastrzeżonymi przez ich właścicieli. Kontakt z autorami: Jacek Matulewski, e-mail: jacek@fizyka.umk.pl, WWW: http://www.fizyka.umk.pl/~jacek Tomasz Dziubak, e-mail: tomek@fizyka.umk.pl Adres do korespondencji: Jacek Matulewski Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu ul. Grudziądzka 5 87-100 Toruo Strona i-2

Spis treści I. Podstawy grafiki 3D 1. Podstawowe koncepcje grafiki 3D (podstawy teoretyczne) 2. Komponenty gry 3. Oświetlenie 4. Odwzorowywanie tekstur 5. Dźwięk w XNA 3.0. Komponenty wizualne 6. Gra, czyli sterowana animacja (kontrolery gier) 7. Projekt gry Light Cycles 8. Modelowanie rzeczywistości, czyli o fizyce w grach 9. Wczytywanie i rysowanie gotowych modeli 10. Kolokwium 1 II. Programowanie karty graficznej (shadery) 11. Tworzenie efektów. Pixel Shader i Vertex Shader 12. Implementacja oświetlenia w HLSL 13. Teksturowanie w HLSL 14. Odwzorowywanie cieni (shadow mapping) 15. Kolokwium 2 Dodatki A. Dystrybucja gier B. Blob C. Futro D. Krzywe i płaszczyzny Béziera Strona i-3

Wprowadzenie Informacje o kursie Opis kursu Kurs zawiera informacje dotyczące tworzenia programów korzystających z grafiki trójwymiarowej czasu rzeczywistego, w szczególności gier. Narzędziem wykorzystywanym do tworzenia grafiki jest Microsoft XNA. Wspomniane są również inne zagadnienia związane z grami, a mianowicie odtwarzanie dźwięku, obsługa kontrolerów gier (gamepad, myszka, klawiatura) oraz elementy grafiki 2D. Kurs rozpoczynamy od zagadnieo zasadniczych dla grafiki trójwymiarowej, a więc tworzenia brył, oświetlenia i teksturowania. Omawiane są również kwestie techniczne związane z tworzeniem gier w XNA i C#, a mianowicie tworzenie komponentów gier, czy posługiwanie się modelami. Następnie zajmiemy się obsługą jednostek programowalnych kart graficznych tj. shaderami. W jego ramach m.in. budowany jest program w języku HLSL, który wykorzystuje model Phonga oświetlenia, realizuje teksturowanie oraz generowanie cieni metodą shadow mapping. Cel kursu Celem kursu jest przedstawienie zagadnieo związanych z tworzeniem aplikacji korzystających z grafiki 3D w XNA, dzięki czemu będziesz w stanie samodzielnie tworzyd gry. Uzyskane kompetencje Po zrealizowaniu kursu będziesz: Zakres tematyczny kursu budowad obiekty trójwymiarowe oraz obracad i przesuwad je w przestrzeni użyd koloru użyd oświetlenia do cieniowania obiektów trójwymiarowych użyd tekstur korzystad z komponentów gier do sprawnego zarządzania kodem używad dźwięku i efektów dźwiękowych w XNA używad gamepada, myszki i klawiatury do wpływania na stan gry potrafił używad podstawowych zasad fizyki klasycznej do modelowania zachowania obiektów programowad karty graficzne w języku HLSL Wymagania wstępne Do zrealizowania tego kursu powinieneś posiadad: wiedzę z zakresu programowania obiektowego w języku C#, którą obejmują kursy ITA-104 Wprowadzenie do programowania i ITA-105 Programowanie obiektowe Opis modułów W Tab. 1 przedstawiony został opis modułów, zawierający podział na zajęcia. Każde zajęcie jest zaplanowane na 90 minut. Wykładowca może dostosowad harmonogram do swoich potrzeb. Strona i-4

Tab. 1 Zakres tematyczny modułów Numer moduł Tytuł Moduł 1 Podstawowe koncepcje grafiki 3D (podstawy teoretyczne) Moduł 2 Komponenty gry Moduł 3 Oświetlenie Moduł 4 Odwzorowywanie tekstur Moduł 5 Dźwięk w XNA 3.0. Komponenty wizualne Moduł 6 Gra, czyli sterowana animacja Moduł 7 Projekt gry Light Cycles Moduł 8 Modelowanie rzeczywistości, czyli fizyka w grach Opis VS/XNA GS. Projekt gry. Werteksy. Prymitywy. Nawijanie. Kolor. Przekształcenia w przestrzeni 3D. Rzutowanie perspektywiczne i izometryczne. Ustawienie kamery. Animacja. Antyaliasing. Bufor werteksów i dynamiczny bufor werteksów. Ustawienia okna gry. Projektowanie komponentów. Metody Update i Draw komponentu. Rejestracja instancji komponentu. Komunikacja za pośrednictwem usług gier. Definiowanie formatów werteksów. Wektory normalne. Oświetlenie domyślne. Typy światła. Mieszanie kolorów (przezroczystośd, mgła). Rzutowanie cieni. Współrzędne teksturowania. Wczytywanie i nakładanie tekstur. Zawijanie. Mipmapy. Skybox. Detekcja możliwości karty graficznej w zakresie teksturowania. Klasa MediaPlayer (odtwarzanie dźwięku z plików skompresowanych, kontrola głośności, transformata Fouriera natężenia dźwięku). XACT (przygotowanie paczek dźwiękowych, odtwarzanie paczek, odtwarzanie w pętli, miksowanie, efekty 3D). Klawiatura (wykrycie przytrzymania i naciśnięcia klawiszy). Mysz (odczytywanie pozycji kursora, rzutowanie na przestrzeo 3D, detekcja naciśnięcia przycisków myszy, obsługa rolki). Gamepad (thumbstick, spusty, wibracje). Projektowanie gier 2D.). Projekt prostej gry korzystającej z gamepada lub klawiatury (bez oświetlenia i teksturownia). Korzystanie z kolejki. Proste AI. Użycie dźwięku. Równanie Newtona. Siły sprężyste z tłumieniem. Siły kontaktowe. Metody Eulera i Verleta. Kolizje kul. Strona i-5

Moduł 9 Korzystanie z gotowych modeli i modelowanie terenu za pomocą map wysokości Moduł 11 Tworzenie efektów. Pixel Shader i Vertex Shader Moduł 12 Implementacja oświetlenia w HLSL Moduł 13 Teksturowanie w HLSL Moduł 14 Odwzorowywanie cieni (shadow mapping) Dodatek A Dystrybucja gier Dodatek B Blob Dodatek C Futro Dodatek D Krzywe i powierzchnie Béziera W tym module dowiesz się, jak w projekcie Microsoft XNA Game Studio 3.0 wczytad oraz wyświetlid trójwymiarowe modele zapisane w plikach, w formatach *.fbx lub *.x (formaty plików wprowadzone zostały odpowiednio przez firmę Autodesk oraz Microsoft). Dodatkowo zapoznasz się z techniką generowania terenu na podstawie tzw. mapy wysokości (heightmap) oraz techniką uśredniania normalnych. W tym module znajdziesz informacje dotyczące programowania jednostek Pixel i Vertex Shader znajdujących się na współczesnych kartach graficznych. Poznasz język HLSL umożliwiający oprogramowanie tychże jednostek. Zapoznasz się także ze środowiskiem programistycznym FX Composer przeznaczonym do szybkiego tworzenia efektów graficznych w czasie rzeczywistym. W tym module znajdziesz informacje dotyczące oświetlenia oraz jego modeli, których poznanie jest niezbędne w przygotowywaniu różnego typu efektów specjalnych. Opisują one zarówno kolor jak i przestrzenny rozkład odbijanego światła. Każdy model powinien byd na tyle prosty aby wyznaczanie oświetlenia przy jego pomocy było jak najszybsze. W tym module znajdziesz informacje na temat wykorzystania tekstur w efektach graficznych. Poznasz metod tworzenia bardziej wyrafinowanych efektów niż poznane w poprzednich modułach (multiteksturing, bump-mapping). W module będzie także pokazany sposób ich implementacji w języku HLSL. Moduł opisuje także sposób wykorzystania efektów w projekcie XNA. Przygotowanie i użycie mapy głębi. Pozaekranowy cel renderowania. Dystrybucja gier do komputerów PC z systemem Windows. Uruchamianie gier na konsoli Xbox 360. Interfejs Guide. Konstrukcja i rysowanie bloba Generowanie tekstury wyznaczającej położenie kępek futra. Renderowanie warstw. Ruch futra. Tworzenie parametrycznych krzywych wielomianowych Strona i-6