Info   Inhalt   Buch-CD   Screenshots   Downloads

 

Inhaltsübersicht:  (Änderungen u. Problembehandlung)

 

*   Asteroidenjagd im Weltraum – Spieleprogrammierung für Minimalisten

    * Über die Arbeit mit Visual C++

    * Entwurfsarbeit

    * Windows-Rahmenanwendung eines Spiels (Game Shell)

    * Programmgerüst eines Spiels

    * Funktionsweise der Spielschleife (Game Loop)

    * Spielablauf (Game Logic)

    * Grundlagen von DirectX Graphics, DirectX Audio und DirectInput

    * Explosionsanimationen

 

*   Eine frei konfigurierbare Spielsteuerung

 

*   Hintergrundgestaltung und Spielsteuerung in 2D-Spielen

 

*   2D-Objekte und Kameradrehungen im 3D-Raum

 

*   Einstieg in die 3D-Programmierung

    * Direct3D-Lichtquellen und –Materialeigenschaften

    * Farb-, Alphaoperationen und Multitexturing

    * Texturfilterung

    * Sonne und Sonnenstrahlen

    * Lens Flares

    * Indizierte Dreieckslisten

    * Planeten und Asteroiden

    * Sky-Sphären und –Boxen

    * Dreidimensionale Stoßprozesse (von Massenpunkten)

    * Kollisionserkennung mithilfe von Bounding-Boxen

    * Explosionen für Fortgeschrittene

 

*   3D-Modelle

    * Asteroiden und Gesteinsbrocken modellieren

    * Dateimanagement

    * X-Dateien laden und rendern

    * X-Dateien in ein eigenes Modellformat konvertieren und speichern

    * 3D-Modelle im eigenen Modellformat laden und darstellen

    * Verschiedene LOD-Stufen für ein 3D-Modell erzeugen

    * Kollisionserkennung und Schnittpunktberechnung auf Dreiecks- und

        Vierecksbasis

    * Portale

 

*   Einführung in die HLSL-Shader-Programmierung

    * HLSL-Programme als Effekt-Dateien in die eigene Anwendung einbinden

    * Einfachste Vertextransformationen und einfachstes Texture Mapping

    * Verschiedene Beleuchtungsmodelle und ihre Implementierung (diffuse

        Reflexion, einfach-ambiente und hemisphärisch-ambiente Reflexion,
        spiegelnde Reflexion)

    * Per Pixel Beleuchtung mit Dotproduct3 Bump Mapping (Normal Mapping)

    * Direktionale und Punktlichtquellen

    * Shadow Mapping (Schlagschatten und Soft Shadows)

 

*   Animation von 3D-Modellen

    * Key Frame- und Bone Frame-Animationen

    * Animationsskelette (Dateiformate für die Beschreibung der Animationsskelette

        und –posen, Ändern der Skelettproportionen, Modellieren von
        Animationsposen, Kinematik, Bewegungsgruppen, Gelenk- und

        Gruppenhierarchien)

    * Übertragung der Animationsposen auf 3D-Modelle

    * Indiziertes Vertex Blending

 

*   Simulierte Physik

    * Das Massenpunktmodell eines Körpers

    * Bestimmung der Anfangsrotation eines Körpers

    * Translation und Rotation eines Körpers

    * Bestimmung der Orientierung eines Körpers

    * Bodenreibung, Kontaktreibung, Newton-Reibung (z.B. Luftreibung), Auftrieb

        und Schwimmen

    * Kollisionen

 

*   Weltraumgestaltung für Fortgeschrittene

    * Aufbau und Simulation eines Sonnensystems

    * Dateiformate für die Beschreibung eines Sonnensystems

    * Ein Bounding-Sphären-Sichtbarkeitstest

    * Objekte im 3D-Raum mithilfe des Cursors selektieren

    * Planetenringe

    * Berechnung der Normal Maps für die Beleuchtung der Planeten, Monde und
        Asteroiden

    * Einsatz von HLSL-Shader-Programmen bei der Darstellung der Sky-Sphäre,

        der Planeten und Asteroiden

 

*   Partikel-, Waffen- und Schildeffekte, dynamische Beleuchtung und Texturierung von 3D-Modellen

    * Partikel-, Waffen- und Energieschildeffekte

    * Dynamische Beleuchtung der Schiffsmodelle (Dynamische Beleuchtung der

        Schiffshülle durch den aufblitzenden Energieschild, Simulation einer

        brennenden Schiffshülle)

    * Verwendung von Schadenstexturen

    * Darstellung der Waffeneffekte

 

*   Spielmechanik

    * Handling der Waffensysteme

    * Dynamisches Handling der Waffenobjekte

    * Kollisionsprävention und Treffererkennung

    * KI-Programmierung (Verwalten der Missionsziele, Flug- und

        Waffensteuerung, Helper-Funktionen für die Berechnung von

        Kurskorrekturen, Manövertaktiken, Änderung der Flugrichtung)

 

*   Musikauswahl, Missions-Scripting und Kamerasteuerung

    * Musikauswahl

    * Missions-Scripting (Missionsnachrichten, Missionsbeurteilung, Festlegen der

        Missionsziele)

    * Kameraführung (Vorprogrammierbare Kameraeinstellungen,

        Kameraverfolgung eines Raumschiffs)

 

*   Echtzeit-Wassereffekte

    * Darstellung der Umgebungsreflexionen und -refraktionen mithilfe von

        Reflection und Refraction Mapping (Environment Mapping)

    * Darstellung der Wellenbewegung mithilfe von Bump Wave Mapping

 

*   Tageszeitänderungen und Wettereffekte

    * Berechnung der Uhrzeit

    * Ausbreitungsrichtung, Farbe und Intensität des Sonnenlichts

    * Bewegung der Sonne und Sterne

    * Simulation von verschiedenen Witterungsverhältnissen

    * Niederschlagssimulation

    * Darstellung des Himmelsgewölbes

    * Darstellung und Bewegung der Sonne

    * Wolkenbewegung und –darstellung

    * Blitze

    * Rendern des Himmels in eine Environment Cube Map

 

*   Terrain Rendering

    * Flexibler Aufbau eines Terrains aus dreidimensionalen Tiles

    * Vertex- und Indexdaten des Terrains, Berechnung der Vertexnormalen aus

        den Höheninformationen
    * Height Mapping

    * Sichtbarkeitsprüfung

    * Ermittlung der Höhe der Kamera über dem Terrain

    * Pixelgenaue Beleuchtung des Terrains (Normal Mapping) in Abhängigkeit von

        der Tageszeit und den Witterungsverhältnissen

    * Dynamische Schatten in Abhängigkeit von der Tageszeit

    * Unterwasserdarstellung, Lichtabsorption mit zunehmender Tiefe, Darstellung

        von Unterwasserkaustiken

 

*   Architektur-Rendering

    * Modellformate für die Beschreibung der Gebäude

    * Nahtloser Übergang zwischen Innen- und Außenlevels

    * Implementierung eines Portalsystems

    * Sichtbarkeitstests (Fassade und Innenräume)

    * Kollisionstests mit den Konstruktionselementen eines Gebäudes (Fassade und

        Innenräume)

    * Pixelgenaue Beleuchtung der Konstruktionselemente (Normal Mapping) in
        Abhängigkeit von der Tageszeit und den Witterungsverhältnissen

    * Darstellung von spiegelnden Reflexionen mithilfe von kubischem Environment
          (Normal) Mapping sowie mithilfe specular Normal Mapping

    * dynamische Schatten in Abhängigkeit von der Tageszeit (Gebäudefassaden)

    * Unterwasserdarstellung, Lichtabsorption mit zunehmender Tiefe, Darstellung

        von Unterwasserkaustiken

    * Licht- und Schattenberechnungen im Gebäudeinneren

 

*   Vegetations-Rendering + Animation (siehe RealWorld-Programmbeispiele)