Projektowanie aplikacji graficznych. dr inż. Jarosław Zubrzycki



Podobne dokumenty
NAGRYWANIE I ODTWARZANIE OBRAZU I DŹWIĘKU.

TRX API opis funkcji interfejsu

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

Osadzenie pliku dźwiękowego na stronie www

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

Zadania systemu operacyjnego. Operacje na plikach i folderach.

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

L.dz.: WETI /16/2014 Gdańsk, dn

INSTRUKCJA OBSŁUGI KARTY PRZECHWYTUJĄCEJ PCI-E

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Konspekt pracy inżynierskiej

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Król Łukasz Nr albumu:

Zamień inspirację w muzyczny geniusz

Zaawansowany kurs języka Python

Nero 12 Platinum. Motywy filmowe retro Nowość - - Efekty filmowe Nowość Nowość -

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

ABIX Cyfrowa edukacja z oprogramowaniem Open Source

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

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

Data wykonania Część praktyczna

Programowanie na poziomie sprzętu. Programowanie w Windows API

System realizacji prezentacji multimedialnych i zarządzania treścią. MODUS S.J. Wadowicka Kraków, Polska.

Konwersja AVI do DVD w programie Avidemux z napisami (również w systemie Linux)

Wprowadzenie do biblioteki klas C++

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Publiczne Technikum Informatyczne Computer College w Koszalinie

SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA DOTYCZĄCEGO ZAKUP SPRZĘTU KOMPUTEROWEGO I OPROGRAMOWANIA DLA SZKOŁY PODSTAWOWEJ W WOLI ZARADZYŃSKIEJ

Karta rejestracji wideo VTV Instrukcja instalacji Edycja

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows XP

Formaty plików. graficznych, dźwiękowych, wideo

Co to jest dźwięk. Dźwięk to wyrażenie słuchowe wywołane przez falę akustyczną. Ludzki narząd wyłapuje dźwięki z częstotliwością 16 do 20 Hz

INSTRUKCJA OBSŁUGI USB2.0 GRABBER

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE...

1. Budowa komputera schemat ogólny.

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Komputery przemysłowe i systemy wbudowane

Audyt oprogramowania. Artur Sierszeń

Skrócona instrukcja obsługi

Grafika komputerowa i wizualizacja

Specjalność Systemy Aplikacyjne Grafiki i Multimediów. Wydział Informatyki, Politechnika Białostocka

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

Oprogramowanie IPCCTV. ipims. Podstawowa instrukcja obsługi

NMS zmiany w oprogramowaniu

Instrukcja obsługi. Karta video USB + program DVR-USB/8F. Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia.

Luxriot VMS. Dawid Adamczyk

Lp. Nazwa Parametry techniczne

Instrukcja obsługi programu. BlazeVideo HDTV Player v6

Ministerstwo Rolnictwa i Rozwoju Wsi Warszawa, r Warszawa, ul. Wspólna 30 Dyrektor Generalny

Instrukcja obsługi platformy PROMEDIO Transmisje. wersja dla ucznia

SPIS TREŚCI: KARTY GRAFICZNE... 15

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

USB 2.0 DVD MAKER INSTRUKCJA OBSŁUGI. Nr produktu Strona 1 z 6

Size: 105 x 148mm * 100P

System zarządzający grami programistycznymi Meridius

Szczegółowy opis przedmiotu zamówienia

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Miniaturowy rejestrator AUDIO-VIDEO, Video grabber HDMI, nagrywarka HDMI, streaming, id4mobile GrabberHD

Przechwytywanie obrazu przy wykorzystaniu funkcji systemu Windows 10.

ZAPYTANIE OFERTOWE. 1. Przedmiot zamówienia: 1.1. Stacjonarny zestaw komputerowy

11. Rozwiązywanie problemów

Instrukcja obsługi platformy

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

SKRó CONA INSTRUKCJA OBSŁUGI

SUKCESYWNA DOSTAWA SPRZĘTU KOMPUTEROWEGO Opis techniczny oferowanego sprzętu

INSTRUKCJA PROGRAMU DO REJESTRATORÓW SERII RTS-05 ORAZ RTC-06. wyposażonych w komunikację. Bluetooth lub USB PRZEDSIĘBIORSTWO PRODUKCYJNO HANDLOWE

Specyfikacja dla Zadania 1: Kurs programowania sterowników PLC dla uczniów grupy I w ZSP nr 2 w Brzesku.

Rozdział 1: Wprowadzenie

Kompresja sekwencji obrazów - algorytm MPEG-2

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Instalacja i konfiguracja SAS PC Files Server

PROGRAMOWALNE STEROWNIKI LOGICZNE

Załącznik nr 2. Zasady pracy aplikacji InteGrRej.

INSTRUKCJA UŻYTKOWNIKA Podpis cyfrowy ISO 9001:2008 Dokument: Wydanie: Podpis cyfrowy. Spis treści... 1

ROZDZIAŁ 1. PRZEGLĄD APLIKACJI SAFE...

Liczba godzin. Poziom wymagań ponadpodstawowy

Komputer będzie wykorzystywany na potrzeby aplikacji: biurowych, obliczeniowych, multimedialnych.

Sposoby zwiększania efektywności systemu Windows

Spis Treści. Co to jest? Budowa Próbkowanie Synteza FM Synteza WT MIDI

Rozdział 4. Multimedia

Testy współpracy. Asterisk z techniką WebRTC

FORMULARZ OFERTOWY. DOSTAWA do siedziby Zamawiającego Zestaw komputerowy z oprogramowaniem SZTUK : 15 kategoria wg Wspólnego Słownika Zamówień (CPV)

Veslava Osińska IINB UMK, Toruń. Multimedia w dokumentach

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH

Projekcje multimedialne

PRZEWODNIK PO PRZEDMIOCIE

ADOBE FLASH PLAYER Menedżer ustawień lokalnych

TECHNOLOGIE INFORMACYJNE

Programowanie w C. dr inż. Stanisław Wszelak

Urządzenia zewnętrzne

Transkrypt:

Projektowanie aplikacji graficznych dr inż. Jarosław Zubrzycki

DirectX DirectX to zestaw funkcji API wspomagających generowanie grafiki (dwu- i trójwymiarowej), dźwięku oraz innych zadań związanych zwykle z grami i innymi aplikacjami multimedialnymi. 2

Finalna czysto 32-bitowa wersja DirectX 9.0c pochodzi z 13 grudnia 2004 roku i ma rozmiar tylko 33.6 MB. Bezpośrednio następujące po niej kolejne uaktualnienie DirectX 9.0c z 9 lutego 2005 już zawiera niewielkie zaczątki technologii 64-bitowej. Obecnie dostępna 64- bitowa wersja DirectX 9.0c ma już około 60 MB i jest zbędna dla użytkowników 32- bitowych Windows. 3

Najczęściej wykorzystywane do obsługi grafiki w grach komputerowych. Używane również do pisania programów do specyficznych zadań z wykorzystaniem np. grafiki trójwymiarowej (np. symulacja komputerowa itp.). DirectX jest produktem firmy Microsoft, dostępny tylko na platformę Windows oraz konsolę Xbox. Obecnie dostępna jest wersja DirectX 10, która została udostępniona wraz z premierą systemu operacyjnego Microsoft Windows Vista. 4

API API (ang. Application Programming Interface) interfejs programowania aplikacji, interfejs programu użytkownika specyfikacja procedur, funkcji lub interfejsów umożliwiających komunikację z biblioteką, systemem operacyjnym lub innym systemem zewnętrznym w stosunku do aplikacji korzystającej z API. 5

API Dobry interfejs API tworzony jest nie tylko z myślą o ułatwieniu procesu tworzenia oprogramowania programistom poprzez dobrą dokumentację oraz ukrycie szczegółów implementacyjnych, ale także z myślą o użytkowniku, dzięki zagwarantowaniu podobnego interfejsu wszystkim aplikacjom opartym o dany API. Jako przykłady API można podać międzynarodowy standard POSIX, a także opracowany przez Microsoft interfejs Win32 API. 6

Komponenty DirectX DirectX składa się z szeregu komponentów odpowiedzialnych za realizację poszczególnych funkcji aplikacji, a są to: DirectX Graphics, składające się z dwóch podkomponentów: DirectDraw - obsługuje grafikę rastrową (bitmapową), Direct3D (D3D) - obsługuje grafikę 3D, DirectInput - przetwarza dane pochodzące z klawiatury, myszy, joysticka lub innych kontrolerów. 7

Komponenty DirectX DirectPlay - wykorzystywany w grach sieciowych, DirectSound - służy do odtwarzania i nagrywania dźwięku, DirectMusic - odtwarza muzykę stworzoną przy użyciu programu DirectMusic Producer, DirectShow - służy do odtwarzania plików audio i wideo, DirectSetup - obsługuje instalację poszczególnych komponentów DirectX DirectX Media Objects - spełnia podobne zadania, jak DirectShow. 8

DirectX Graphics DirectX Graphics jest to połączenie Direct3D i DirectDraw w bibliotece DirectX firmy Microsoft. Direct3D jest komponentem biblioteki DirectX zajmującym się wyświetlaniem grafiki trójwymiarowej. Umożliwia wykorzystanie funkcji rysowania obiektów 3D oferowanych przez karty graficzne. 9

DirectX Graphics Pierwotnie struktura Direct3D różniła się od standardu OpenGL, ale z biegiem czasu jej budowa coraz bardziej zaczynała go przypominać. Direct3D jak i cały pakiet DirectX jest oparty na interfejsach COM, co oznacza, że programista musi tworzyć wskaźniki do klas i potem z nich korzystać. Jest to dość zawiła operacja, która dodatkowo zmniejsza czytelność kodu programu. Microsoft odchodzi od modelu COM i chce przyjąć rozwiązania zawarte w OpenGL, które opierają się na funkcjach i przepuszczaniu przez nie zmiennych. Takie rozwiązanie daje znacznie bardziej czytelny kod, co wpływa na zmniejszenie trudno wykrywalnych drobnych błędów, ale również na niewielki spadek wydajności 10

DirectX Graphics Direct3D jest użyteczny przede wszystkim przy pisaniu aplikacji pracujących na platformach Windows oraz Xbox i Xbox 360 ze względu na brak wersji DirectX firmy Microsoft dla innych systemów operacyjnych. Mimo to możliwe jest uruchamianie aplikacji Direct3D pod systemami operacyjnymi z rodziny Unix, dzięki implementacji kluczowych API Microsoftu dla tych systemów. 11

DirectX Graphics DirectDraw jest to interfejs służący do wyświetlania grafiki 2D używając akceleracji sprzętowej o ile jest dostępna. DirectDraw nie obsługuje grafiki 3D - 12

DirectInput DirectInput jest to biblioteka obsługująca urządzenia wejściowe tj. klawiatura, mysz czy joystick. Zawiera w sobie funkcje odczytujące dane z tych urządzeń w różny sposób (bezpośredni lub buforowany). Ma też możliwość przyporządkowania określonych akcji do konkretnych przycisków (tzw. Action Mapping). 13

DirectPlay DirectPlay jest protokołem stosowanym przede wszystkim w grach sieciowych. Za jego pomocą możliwe jest wykorzystywanie protokołów TCP/IP i starszych np. IPX/SPX do nawiązywania połączeń pomiędzy użytkownikami sieciowymi tej samej aplikacji. 14

DirectSound DirectSound służy do odtwarzania i nagrywania dźwięku. dostarcza bezpośredni interfejs między programami użytkowymi i sterownikami karty dźwiękowej na MS Windows, umożliwiając programom użytkowym wyprodukowanie dźwięków i muzyki. 15

DirectSound Oprócz dostarczania istotną usługa przesyłania danych audio do karty dźwiękowej, daje to wiele potrzebnych zdolności takich jak nagranie i mieszanie dźwięku; dodawanie efektów brzmieniowych np. powtórzenia, echo; używanie sprzętowo kontrolowanych buforów dla dodatkowej szybkości, ustawienie dźwięku w przestrzeń 3D (3D audio spatialization), przechwytywanie dźwięku z mikrofonu lub innego wejścia i kontrolowanie przechwytywania podczas nagrywania ścieżki audio. 16

DirectSound3D DirectSound3D (DS3D) jest dodatkiem do systemu MS DirectX, który jest przeznaczony do standaryzowania dźwięku 3D pod Microsoft Windows. Został wprowadzony wraz z DirectX3 w 1996. 17

DirectSound3D DirectSound3D pozwala producentom oprogramowania napisać jeden standardowy dźwięk klasy API zamiast pisać kody dla każdego producenta karty dźwiękowej. W DirectX 5, DirectSound3D miał możliwość wygenerowania z karty dźwiękowej dźwięk przestrzenny dzięki algorytmom przyspieszającym DirectSound3D przyjetych przez Microsoft. 18

DirectSound3D Eliminuje to potrzebę tworzenia oddzielnych bibliotek audio 3D. Począwszy od DirectX 8, DirectSound i DirectSound3D (DS3D) połączono w jedną całość i nazwano DirectX Audio. 19

DirectMusic DirectMusic jest integralną częścią składową Microsoft DirectX API, który pozwala muzyce i efektom dźwiękowym zostać skomponowanym i granym. Dostarcza elastyczną interaktywną kontrolę pomimo tego, jak są zagrane. Architektonicznie DirectMusic jest zaawansowanym zbiorem przedmiotów, utworzonych na DirectSound, który pozwala na to, by zagrać dźwięk i muzykę bez potrzeby korzystania z niskopoziomowego programowania jak DirectSound. 20

DirectMusic DirectSound uwzględnia przechwytywanie i playback cyfrowych próbek dźwięku, podczas gdy DirectMusic pracuje w oparciu o dane muzyczne. Muzyka może zostać zsyntetyzowana albo w sprzęcie komputerowym, albo w Microsoft Software Synthesizer, lub w syntezatorze użytkownika. 21

DirectShow DirectShow jest technologią programistyczną umożliwiającą obsługę strumieni wideo i audio na platformach Microsoft Windows. 22

DirectShow Zastosowanie Technologia DirectShow stosowana jest w aplikacjach multimedialnych wykorzystujących strumienie wideo i audio. Umożliwia między innymi odtwarzanie plików medialnych, pobieranie obrazu i dźwięku z urządzeń zewnętrznych takich jak kamery cyfrowe i karty telewizyjne, kodowanie/dekodowanie strumienia oraz dostęp do przesyłanych danych (poszczególnych klatek wideo) i ich przetwarzanie. 23

DirectShow Zastosowanie DirectShow obsługuje większość popularnych typów plików medialnych (m.in. AVI, WAV, ASF, MIDI) oraz formatów kompresji (np. DV, MPEG-1, MPEG-4 część 2, MPEG Audio Layer-3 (MP3)). 24

DirectShow Istotną zaletę technologii DirectShow stanowi jej generyczna architektura. Z punktu widzenia zarówno użytkownika jak i programisty nieistotny jest format kompresji zastosowany w odtwarzanym pliku; dobór odpowiednich narzędzi do przetwarzania (w tym wypadku dekodowania) strumienia odbywa się automatycznie. 25

Co więcej, na pewnym etapie drugorzędne staje się, czy dane pochodzą z pliku czy z urządzenia zewnętrznego oraz z jakim typem urządzenia mamy do czynienia. Taką elastyczność udało się uzyskać dzięki zastosowaniu technologii Component Object Model (COM), w której obiekty reprezentowane są przez niezależne moduły wykonujące określone działania na danych. W DirectShow moduły te noszą nazwę filtrów. 26

Filtry DirectShow Filtr jest obiektem wykonującym pewną określoną operację na strumieniu mediów, taką jak odczytanie strumienia z dysku lub kamery podłączonej do komputera, przetworzenie strumienia lub jego wizualizację na ekranie. Filtry pobierają lub zwracają dane i mogą łączyć się ze sobą tworząc graf filtrów. W ten sposób dowolne działanie na strumieniu mediów może być zrealizowane poprzez zbudowanie odpowiedniego grafu i do tego głównie sprowadza się programowanie DirectShow. 27

Filtry DirectShow Filtry DirectShow zostały podzielone na 3 główne kategorie: filtry źródłowe (ang. Source filters) - umożliwiające odczyt strumienia z dysku lub pobranie go z kamery, filtry przetwarzające (ang. Transform filters) - umożliwiające przetwarzanie danych, filtry renderujące (ang. Renderer filters) - kończące pracę z danymi. Filtry te mogą wyświetlić wideo na ekranie, przesłać dźwięk do karty dźwiękowej lub zapisać dane na dysk. 28

Każdy filtr zawiera jeden lub więcej pinów - obiektów, za pomocą których filtry łączą się ze sobą i przekazują dane. Piny dzielą się na wejściowe i wyjściowe. Piny wejściowe pobierają dane, piny wyjściowe przekazują je kolejnym filtrom. Piny wyjściowe mogą łączyć się jedynie z pinami wejściowymi. Dodatkowym warunkiem połączenia dwóch pinów jest ustalenie wspólnego typu przesyłanych danych. 29

Istotną cechą DirectShow jest możliwość tworzenia przez programistów własnych filtrów. Filtry takie mają postać biblioteki DLL. Po zarejestrowaniu ich w systemie mogą być wykorzystane w różnych aplikacjach. DirectShow ułatwia tworzenie filtrów przy pomocy istniejących klas bazowych (ang. Base Classes). 30

DirectSetup DirectSetup jest częścią biblioteki DirectX firmy Microsoft. Zawiera funkcje służące do instalacji komponentów DirectX, jak również do sprawdzania zainstalowanej wersji. 31

DirectX Media Objects DirectX Media Objects (DMO) są to komponenty COM działające podobnie do DirectShow. Służą do strumieniowego przesyłania i przetwarzania danych z wejścia do wyjścia. Zwykle są to interfejsy kodeków służące do przetwarzania danych multimedialnych. Dzięki swojej budowie DMO są łatwiejsze do zaimplementowania niż DirectShow. 32