1 Multimedia, COM und DirectX  

 
1.1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.2
1.2.1
1.2.2
1.2.3
1.3
1.3.1
1.3.2
1.3.2.1
1.3.2.2
1.3.2.3
1.3.2.4
1.3.2.5
1.3.2.6
1.3.2.7
1.4
1.5
1.5.1
1.5.2
1.5.3
1.6
Was ist Multimedia?
Multimedia in der umgangssprachlichen Wahrnehmung
Rezeptoren
Analoge und digitale Wertebereiche
Aggregationen von Rezeptoren
Zeitsynchronität
Nun endlich eine Multimedia-Definition
Welchen Mehrwert bringt uns Multimedia?
Die Wirklichkeit und traditionelle Datentypen
Mehr Informationen im System
Der abstrakte Datentyp Multimedia
Warum ist Multimedia ein Problem für Programmierer?
Die Anforderungen der Dienstgüte
Verschiedene Programmieransätze
Hardwareregister
Treibersoftware
Abstrakte Betriebssystemdienste der Kommando-Shell
Softwarebibliotheken mit Multimedia-Funktionalität
Spiele-Engines
Multimedia-Programmiersprachen
Autorensysteme
Multimedia für zeitsynchrone Anwendungen
DirectX und COM
Was ist DirectX?
Grundlagen COM
COM-Programmierung am Beispiel
Visual C++ und das DirectX-SDK
 

2 Verarbeitung von Multimedia-Datenströmen
 
2.1
2.1.1
2.1.2
2.1.3
2.1.3.1
2.1.3.2
2.1.3.3
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.4
2.4.1
2.4.2
2.4.3
2.5
Herkömmliche Methoden zum Abspielen von Audio-/Videodateien
WAV-Dateien mit PlaySound() abspielen
Das Multimedia-Control CAnimateCtrl
MCI-Interface
Videoposition und Ausgabefenster verändern
Positionssteuerung und -abfrage
Zusammenfassung
Wiedergabe von Audio-/Videodateien mit DirectShow
Einführung
Einfacher DirectShow VideoPlayer
Ereignisbehandlung
Setzen und Auswerten der Abspielposition
Videoausgabe im Anwendungsfenster oder Vollbild
Lautstärke, Balance und Geschwindigkeit ändern
Halbautomatische und manuelle Graphenerstellung
Umkomprimieren einer Videodatei mit DirectShow
Verfügbare Videocodecs anzeigen
Einstellungsdialoge für Videocodecs anzeigen
Filtergraphen für Konvertierung erstellen
Positionsanzeige beim Konvertieren anpassen
DVD-Player
Was ist eine DVD?
Warum einen eigenen DVD-Player programmieren?
DVD-Player mit DirectShow realisieren
Zusammenfassung
 

3 Die Welt der animierten Bilder

 
3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.3
3.3.1
3.3.2
3.4.1
3.4
3.4.2
3.4.3
3.4.4
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.6
3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.6.7
3.7
3.7.1
3.8
3.9
Einführung
2D-Animationen mit dem GDI
Erste Schritte mit Form und Farbe
Spriteanimationen mit dem GDI
Bitmaps mit GDIUtils::DrawBitmap zeichnen
GDI-Spriteanimation mit Doppelpuffer-Technik
Ausblick GDI
2D-Grafik mit einer 3D-Schnittstelle
Warum nicht die 2D-Schnittstelle DirectDraw benutzen?
Sprites mit 3D-Techniken erzeugen
Initialisierung der Direct3D-Schnittstelle
Erste Schritte mit der Direct3D-Schnittstelle
Wie viele Hintergrundpuffer müssen eingerichtet werden?
Sprite mit Textur erzeugen
Sprite mit Textur rendern und anzeigen
Eigenschaften der Grafikkarte abfragen
Abfrage aller Bildschirmmodi
Abfrage spezieller Direct3D-Eigenschaften
Zusammenspiel zwischen Hintergrundpuffer-Format und Textur-Format
Einfache Abfrage von Eigenschaften bei der Entwicklung
Direct3D in wieder verwendbare Klassen kapseln
Der DirectX AppWizard
Erste Schritte mit der 2D-Animationsbibliothek
Einfache Animationen erstellen
Neue Animationseffekte
Behandlung von Tastatur- und Mausereignissen
Drag&Drop eines Sprites
Mauszeiger verändern
Tipps für kleine hochqualitative Texturen
Tools zum Erstellen von Texturen
Performance-Test
Zusammenfassung
 

4 Soundverarbeitung intern

 
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.11.1
4.11.2
4.12
4.13
4.14
Die Grundprinzipien
Übersicht zu DirectSound
Erster Schritt: DirectSound initialisieren
Sekundärpuffer erzeugen und benutzen
Mehrere Puffer gleichzeitig abspielen
Manuelles Einlesen einer WAV-Datei
Dynamische Soundpufferverwaltung
Lautstärke, Panorama und Abspielfrequenz eines Puffers ändern
Spezialeffekte für Sekundärpuffer
Grafische Darstellung von WAV-Daten
Soundausgabe im 3D-Raum
Physikalische Grundlagen des 3D-Hörens
Realisierung von 3D-Sound mit DirectSound
Sound in eine WAV-Datei aufnehmen
Verschiedene DirectSound-Geräte benutzen
Ein kurzes Resümee