ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب 3D-Spieleprogrammierung mit DirectX 9 und C++

دانلود کتاب برنامه نویسی بازی های سه بعدی با DirectX 9 و C

3D-Spieleprogrammierung mit DirectX 9 und C++

مشخصات کتاب

3D-Spieleprogrammierung mit DirectX 9 und C++

دسته بندی: برنامه نویسی: بازی ها
ویرایش: 3. Auflage 
نویسندگان:   
سری:  
ISBN (شابک) : 3446405968, 9783446405967 
ناشر: Hanser Verlag 
سال نشر: 2006 
تعداد صفحات: 865 
زبان: German 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 22 مگابایت 

قیمت کتاب (تومان) : 36,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 4


در صورت تبدیل فایل کتاب 3D-Spieleprogrammierung mit DirectX 9 und C++ به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب برنامه نویسی بازی های سه بعدی با DirectX 9 و C نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب برنامه نویسی بازی های سه بعدی با DirectX 9 و C

چه مبتدی با جاه طلبی های برنامه نویسی باشید، چه از روی کنجکاوی در مورد DirectX 9، یا صرفاً به این دلیل که برنامه نویسی بازی یک چیز سرگرم کننده است -- با برنامه نویسی بازی های سه بعدی در ویندوز با DirectX 9 و C++ در نسخه سوم و به روز شده، دیوید شرفگن معرفی می کند. اصول برنامه نویسی بازی، مبانی و امکانات DirectX 9(c) تا برنامه ریزی یک بازی به صورت جامع و بازی محور.

مانند نسخه دوم قبل از آن، ویرایش سوم نیز بر اساس نظرات و پیشنهادات خوانندگان به طور کامل اصلاح و به روز شده است. برخی از ویژگی‌های جدید، مثال‌های کاربردی مبتکرانه برای سایه‌زنان پیکسل و رأس (فصل 9) و فصلی با پاسخ به سؤالات متداول در مورد برنامه‌نویسی بازی هستند. Scherfgen اکنون Visual C++ 2005 Express را نیز در نظر می گیرد.

یک پیش نیاز برای درک برنامه نویسی بازی ها در کتاب شرفگن، دانش قبلی قوی از C++ است (برای مبتدیان، C++ Heiko Kalista برای برنامه نویسان بازی توصیه می شود) و مستندات DirectX مایکروسافت با یک کلیک ماوس . دانش WinAPI مفید است، اما کاملا ضروری نیست.

شروع کار با برنامه نویسی بازی با مقدمه ای آغاز می شود که در آن سؤالات اساسی در مورد برنامه نویسی بازی، DirectX و C++ و همچنین موتور بازی (اتفاقاً یک موتور کامل شامل ...) و اشکال زدایی روشن می شود. سپس با اصول گرافیک سه بعدی، اولین مثلث ها، بافت ها، مه، نورپردازی، افکت ها و رندر شروع می شود. سپس گرافیک سه بعدی با موتور TriBase و ورودی می آید. قبل از پرداختن به تئوری برنامه نویسی بازی و سپس ایجاد دو بازی، به صدا و موسیقی فضای زیادی داده می شود. در پایان، موضوعات پیشرفته مانند سایه ها با بافر استنسیل، پخش ویدیو، استریو در گرافیک دو بعدی، تقسیم اتاق، رندر زمین تا انیمیشن کاراکترها و کار با نخ ها ارائه شد. CD-ROM شامل مثال‌ها و بازی‌های کتاب، موتور سه‌بعدی \"TriBase\"، DirectX 9 SDK و همچنین ابزارهای رایگان و برنامه‌های آزمایشی ضروری و اضافی است.

فقط تعداد کمی توانسته اند برنامه نویسی بازی با C++ را به طور جامع و متمرکز مانند دیوید شرفگن با برنامه نویسی بازی سه بعدی با DirectX 9 و C++ شروع کنند -- همچنین در نسخه سوم مجموعه ای از برنامه های کاربردی و دانش برنامه نویسی نظری که امکان برنامه ریزی و اجرای مستقل ایده های بازی را فراهم می کند. --ولفگانگ ترس


توضیحاتی درمورد کتاب به خارجی

Ob Einsteiger mit Programmierambitionen, aus Neugierde über DirectX 9 oder einfach nur weil die Spieleprogrammierung eine Sache ist, die Spaß macht -- mit 3D-Spieleprogrammierung unter Windows mit DirectX 9 und C++ in der dritten, aktualisierten Auflage führt David Scherfgen in die Grundsätze der Spieleprogrammierung, die Grundlagen und Möglichkeiten von DirectX 9(c) bis hin zur Planung eines Spiels umfassend und spielorientiert ein.

Die 3. Auflage wurde ebenso wie die 2. Auflage zuvor auf Grund von Leserkommentaren und -anregungen vollständig überarbeitet und auf den neusten Stand gebracht. Neu sind etwa geniale Anwendungsbeispiele für Pixel- und vertex-Shader (Kapitel 9) und ein Kapitel mit Antworten auf häufig gestellte Fragen im Spieleprogrammierzusammenhang. Ebenso berücksichtigt Scherfgen jetzt auch Visual C++ 2005 Express.

Voraussetzung für ein Verständnis der Programmierung von Spielen in Scherfgens Buch sind solide Vorkenntnisse in C++ (für Einstieger empfielt sich hier Heiko Kalistas C++ für Spieleprogrammierer) und die DirectX-Dokumentation von Microsoft in Mausklicknähe. WinAPI-Kenntnisse sind sinnvoll, aber nicht unbedingt notwendig.

Der Einstieg in die Spieleprogrammierung beginnt mit einer Einleitung in der grundsätzliche Fragen zur Spieleprogrammierung, zu DirectX und C++ sowie zur Spiele-Engine (eine komplette Engine ist ünbrigens mit dabei...) und dem Debuggen geklärt werden. Dann geht es los mit grundlegendem zur 3D-Grafik, die ersten Dreiecke, Texturen, Nebel, Beleuchtung, Effekte und Rendern. Dann kommt die 3D-Grafik mit der TriBase-Engine und die Eingabe. Viel Raum bekommt Sound und Musik bevor es dann an die Theorie der Spieleprogrammierung geht und darauf folgend zwei Spiele erstellt werden. Am Ende dann fortgeschrittene Themen wie Schatten mit dem Stencil-Buffer, dem Abspielen von Videos, Stereo in 2D-Grafik, Raumaufteilung, Terrain-Rendering bis hin zur Charakteranimation und der Arbeit mit Threads. Die CD-ROM enthält die Beispiele und Spiele des Buchs, die 3D-Engine "TriBase", das aktuelle DirectX 9 SDK sowie notwendige und zusätzliche Freeware-Werkzeuge und Demo-Programme.

Nur wenigen ist der Einstieg in die Spieleprogrammierung mit C++ so umfassend und konzentriert gelungen wie David Scherfgen mit 3D-Spieleprogrammierung mit DirectX 9 und C++ -- auch in der 3. Auflage ein Fundus an praktischem und theoretischem Programmierwissen, das das eigenständiges planen und umsetzen von Spieleideen ermöglicht. --Wolfgang Treß



فهرست مطالب

Cover

3D-Spiele-programmierung mit DirectX 9 und C++, 3., aktualisierte Auflage

ISBN-10: 3446405968 ISBN-13: 9783446405967

Inhalt

Vorwort

1 Einleitung

  1 Einleitung
      1.1 Ein paar Dinge im Voraus
            o 1.1.1 Was Sie erwartet
            o 1.1.2 Was Sie nicht erwartet
            o 1.1.3 Voraussetzungen
            o 1.1.4 Die Schriftformate in diesem Buch
            o 1.1.5 Was tun bei Problemen?
            o 1.1.6 Zu DirectX 9.0 und DirectX 9.0c
            o 1.1.7 Die ungarische Notation
      1.2 Einführung in die Spieleprogrammierung
            o 1.2.1 Der kleine Unterschied
            o 1.2.2 Was macht ein Spiel eigentlich?
            o 1.2.3 Eingliederung in die Windows-Architektur
            o 1.2.4 Das Problem mit der Zeit
            o 1.2.5 Die verschiedenen Seiten eines Spiels
            o 1.2.6 Rückblick
      1.3 DirectX und C++
            o 1.3.1 Was ist DirectX?
            o 1.3.2 Die perfekte Kombination mit C++
            o 1.3.3 Das COM - Grundlage von DirectX
            o 1.3.4 Rückblick
      1.4 Wir bauen uns eine eigene Engine!
            o 1.4.1 Was versteht man unter einer Engine?
            o 1.4.2 Verschiedene Entwicklungsansätze
            o 1.4.3 Konkrete Planung
            o 1.4.4 Installation der Engine und Einrichten eines Projekts
            o 1.4.5 Vorgabefunktionen, Klassen und Makros
            o 1.4.6 Rückblick
            o 1.4.7 Übungsaufgaben
      1.5 Tipps zum Debuggen
      1.6 Ausblick

2 3D-Grafik

  2 3D-Grafik
      2.1 Was Sie in diesem Kapitel erwartet
      2.2 Einführung in die 3D-Grafik
            o 2.2.1 Ein neues Koordinatensystem
            o 2.2.2 Theorie der 3D-Grafik
            o 2.2.3 Vektoren
            o 2.2.4 Matrizen
            o 2.2.5 Ebenen
            o 2.2.6 Das RGB-Farbsystem
            o 2.2.7 Rückblick
            o 2.2.8 Übungsaufgaben
      2.3 Direct3D-Grundlagen
            o 2.3.1 Was ist Direct3D?
            o 2.3.2 Die Transformationspipeline
            o 2.3.3 Der Rasterizer
            o 2.3.4 Die wichtigsten Schnittstellen
            o 2.3.5 Ressourcen
            o 2.3.6 Oberflächen
            o 2.3.7 Direct3D im C++-Programm ansprechen
            o 2.3.8 Rückblick
      2.4 Initialisierung von Direct3D
            o 2.4.1 Erstellen der IDirect3D9-Schnittstelle
            o 2.4.2 Adapterinformationen
            o 2.4.3 Caps - die Fähigkeiten eines Geräts
            o 2.4.4 Erstellen des Fensters
            o 2.4.5 Erstellen der IDirect3DDevice9-Schnittstelle
            o 2.4.6 Direct3D herunterfahren
            o 2.4.7 Beispielprogramm: eine komplette Direct3D-Anwendung
            o 2.4.8 Rückblick
            o 2.4.9 Übungsaufgaben
      2.5 Das erste Dreieck
            o 2.5.1 Vertizes
            o 2.5.2 Erste Render-States
            o 2.5.3 Setup der Transformationspipeline
            o 2.5.4 Der Zeichenvorgang
            o 2.5.5 Rückblick
            o 2.5.6 Übungsaufgaben
      2.6 Texturen
            o 2.6.1 Was Texturen sind
            o 2.6.2 Grundlegende Dinge
            o 2.6.3 Der bilineare Filter
            o 2.6.4 MIP-Mapping - schnell und schön
            o 2.6.5 Weitere Spielereien
            o 2.6.6 Texturen mit D3DX laden
            o 2.6.7 Texturinformationen abfragen
            o 2.6.8 Das Beispielprogramm
            o 2.6.9 Kachelfähige Texturen erzeugen
            o 2.6.10 Rückblick
            o 2.6.11 Übungsaufgaben
      2.7 Vertexund Index-Buffer
            o 2.7.1 Zweck von Vertexund Index-Buffern
            o 2.7.2 Der Vertex-Buffer im Detail
            o 2.7.3 Der Index-Buffer im Detail
            o 2.7.4 Das Beispielprogramm
            o 2.7.5 Rückblick
            o 2.7.6 Übungsaufgaben
      2.8 Nebel
            o 2.8.1 Die Theorie
            o 2.8.2 Nebel mit Direct3D
            o 2.8.3 Das Beispielprogramm
            o 2.8.4 Rückblick
            o 2.8.5 Übungsaufgaben
      2.9 Beleuchtung
            o 2.9.1 Ein einfaches Beleuchtungssystem
            o 2.9.2 Die Praxis - Beleuchtung mit Direct3D
            o 2.9.3 Das Beispielprogramm
            o 2.9.4 Rückblick
            o 2.9.5 Übungsaufgaben
      2.10 Alpha-Blending
            o 2.10.1 Die Theorie
            o 2.10.2 Alpha-Blending mit Direct3D
            o 2.10.3 Das Beispielprogramm
            o 2.10.4 Rückblick
            o 2.10.5 Übungsaufgaben
      2.11 Multi-Texturing
            o 2.11.1 Der theoretische Teil
            o 2.11.2 Multi-Texturing anwenden
            o 2.11.3 Mehr über Texturkoordinaten
            o 2.11.4 Das Beispielprogramm
            o 2.11.5 Rückblick
            o 2.11.6 Übungsaufgaben
      2.12 Exotische Texturformen
            o 2.12.1 Volumentexturen
            o 2.12.2 Umgebungstexturen
            o 2.12.3 Bump-Mapping
            o 2.12.4 Rückblick
            o 2.12.5 Übungsaufgaben
      2.13 Der Stencil-Buffer
            o 2.13.1 Was war das noch gleich?
            o 2.13.2 Die Details
            o 2.13.3 Das Beispielprogramm
            o 2.13.4 Rückblick
            o 2.13.5 Übungsaufgaben
      2.14 D3DX-Effekte
            o 2.14.1 Probleme beim Verwalten von Modellen
            o 2.14.2 \"Effektefi
            o 2.14.3 Laden eines Effekts
            o 2.14.4 Mit Effekten rendern
            o 2.14.5 Variablen von außen setzen und abfragen
            o 2.14.6 Das Beispielprogramm
            o 2.14.7 Rückblick
            o 2.14.8 Übungsaufgaben
      2.15 Transformierte Vertizes für 2D-Grafik
            o 2.15.1 Wozu denn noch 2D?
            o 2.15.2 Die Transformation umgehen
            o 2.15.3 Ein anderes Vertexformat
            o 2.15.4 DirectDraw imitieren
            o 2.15.5 Eine andere Methode für 2D-Grafik
            o 2.15.6 Rückblick
            o 2.15.7 Übungsaufgaben
      2.16 In Texturen rendern
            o 2.16.1 Schritt 1: Erstellen einer Textur und eines Z-Buffers
            o 2.16.2 Schritt 2: Das neue Render-Target setzen
            o 2.16.3 Schritt 3: Rendern!
            o 2.16.4 Einfacher mit D3DX
            o 2.16.5 Wozu braucht man das?
      2.17 Ausblick

3 3D-Grafik mit der TriBase-Engine

  3 3D-Grafik mit der TriBase-Engine
      3.1 Was Sie in diesem Kapitel erwartet
      3.2 Direct3D mit der TriBase-Engine
            o 3.2.1 Was uns das Leben leichter machen kann
            o 3.2.2 Die Klasse tbDirect3D
            o 3.2.3 Der Texturmanager - tbTextureManager
            o 3.2.4 tbVertexBuffer und tbIndexBuffer
            o 3.2.5 Die Effektklasse tbEffect
            o 3.2.6 Ein allumfassendes Beispielprogramm
            o 3.2.7 Rückblick
            o 3.2.8 Ausblick
      3.3 Modelldateien
            o 3.3.1 Die Vorarbeit
            o 3.3.2 Der Konverter
            o 3.3.3 Eine Modellklasse
            o 3.3.4 Das Beispielprogramm
            o 3.3.5 Rückblick
      3.4 Texte zeichnen
            o 3.4.1 Speicherung der Zeichen
            o 3.4.2 Das Format der Textur
            o 3.4.3 Transformierte Vertizes für Texte
            o 3.4.4 Der Weg von TrueType zur Bitmap-Font
            o 3.4.5 Inhalt der TBF-Dateien
            o 3.4.6 Programmierung einer Schriftartklasse
            o 3.4.7 Das Beispielprogramm
            o 3.4.8 Rückblick
      3.5 Ausblick

4 Eingabe

  4 Eingabe
      4.1 Was uns in diesem Kapitel erwartet
      4.2 DirectInput kurz vorgestellt
            o 4.2.1 Was kann DirectInput besser als Windows?
            o 4.2.2 Geräte und Geräteklassen
            o 4.2.3 GUIDs
            o 4.2.4 Achsen und Knöpfe
            o 4.2.5 Die Funktionsweise von DirectInput
            o 4.2.6 Ein paar Worte zum Debuggen
      4.3 Der Startschuss füllt
            o 4.3.1 Erstellen des IDirectInput8-Objekts
            o 4.3.2 Eingabegeräte abzählen
            o 4.3.3 Rückblick
      4.4 Initialisierung eines Geräts und Datenabfrage
            o 4.4.1 Keine Angst vor CreateDevice!
            o 4.4.2 Vorbereitungen treffen
            o 4.4.3 Auf verlorene Eingabe achten!
            o 4.4.4 Hinterlassen Sie Ihren Platz ...
            o 4.4.5 Einmal Daten, bitte!
            o 4.4.6 Rückblick
      4.5 Die Tastatur
            o 4.5.1 Das Datenformat der Tastatur
            o 4.5.2 Tastencodes
            o 4.5.3 Das Beispielprogramm
            o 4.5.4 Begrenzungen der Tastatur
            o 4.5.5 Rückblick
      4.6 Die Maus
            o 4.6.1 Das Datenformat der Maus
            o 4.6.2 Relative Achsen
            o 4.6.3 Die Mausknöpfe
            o 4.6.4 Der exklusive Modus
            o 4.6.5 Das Beispielprogramm
            o 4.6.6 Rückblick
      4.7 Der Joystick
            o 4.7.1 Achsen, Knöpfe, POVs und Schieberegler
            o 4.7.2 Das Joystick-Datenformat
            o 4.7.3 Das Beispielprogramm
            o 4.7.4 Rückblick
      4.8 Objekte abzählen und kalibrieren
            o 4.8.1 Objekte abzählen
            o 4.8.2 Eigenschaften festlegen
            o 4.8.3 Achsenmodus
            o 4.8.4 Achsenskalierung
            o 4.8.5 Die tote Zone
            o 4.8.6 Sättigung
            o 4.8.7 Das Beispielprogramm
            o 4.8.8 Gepufferte Daten und direkte Daten
            o 4.8.9 Rückblick
      4.9 Übungsaufgaben
      4.10 Eine Eingabeklasse für die Engine
            o 4.10.1 Probleme mit DirectInput
            o 4.10.2 Das Prinzip der analogen Knöpfe
            o 4.10.3 Die tbDirectInput-Klasse
            o 4.10.4 Das Beispielprogramm
            o 4.10.5 Rückblick
      4.11 Ausblick

5 Sound und Musik

  5 Sound und Musik
      5.1 DirectSound kurz vorgestellt
            o 5.1.1 Was kann DirectSound besser als Windows?
            o 5.1.2 Soundpuffer und Mixer
            o 5.1.3 Die Schnittstellen
      5.2 Initialisierung von DirectSound
            o 5.2.1 Formale Dinge
            o 5.2.2 Abzählen der DirectSound-Geräte
            o 5.2.3 Erstellung der IDirectSound8-Schnittstelle
            o 5.2.4 Die Kooperationsebene wählen
            o 5.2.5 Rückblick
      5.3 Erstellen von Soundpuffern
            o 5.3.1 Eigenschaften der Soundpuffer
            o 5.3.2 Das Format eines Soundpuffers
            o 5.3.3 Anfordern der IDirectSoundBuffer8-Schnittstelle
            o 5.3.4 Der primäre Soundpuffer
            o 5.3.5 Rückblick
      5.4 Füllen eines sekundären Soundpuffers
            o 5.4.1 Eine kleine Einführung in die Akustik
            o 5.4.2 Wir sperren den Soundpuffer
            o 5.4.3 Entsperren
            o 5.4.4 Hinein mit den Daten!
            o 5.4.5 Rückblick
      5.5 Kontrolle eines Sounds
            o 5.5.1 Die Play-Methode
            o 5.5.2 Festlegen der Lautstärke
            o 5.5.3 Festlegen der Balance
            o 5.5.4 Festlegen der Abspielfrequenz
            o 5.5.5 Das Beispielprogramm
            o 5.5.6 Rückblick
      5.6 WAV-Dateien laden
            o 5.6.1 Der RIFF-Header
            o 5.6.2 Die WAV-Chunks
            o 5.6.3 Die Funktion LoadWAVFile
      5.7 3D-Sound
            o 5.7.1 Theorie des 3D-Sounds
            o 5.7.2 Die IDirectSound3DBuffer8-Schnittstelle
            o 5.7.3 Die IDirectSound3DListener8-Schnittstelle
            o 5.7.4 Das Beispielprogramm
            o 5.7.5 Rückblick
      5.8 Echtzeiteffekte
            o 5.8.1 Effekte - vorberechnet und in Echtzeit
            o 5.8.2 Verschiedene Effektschnittstellen
            o 5.8.3 Vorwarnung erforderlich!
            o 5.8.4 Effekte mit SetFX anfordern
            o 5.8.5 Die Effektschnittstelle abfragen
            o 5.8.6 Effektparameter am Beispiel des Echos
            o 5.8.7 Experimentieren ist angesagt!
            o 5.8.8 Rückblick
      5.9 Ergänzende Informationen
            o 5.9.1 Die verschiedenen Schnittstellen
            o 5.9.2 Klonen von Sounds
            o 5.9.3 Status eines Soundpuffers
      5.10 Die Klasse tbDirectSound
            o 5.10.1 Erweiterung des Konfigurationsdialogs
            o 5.10.2 Was tbDirectSound können soll
            o 5.10.3 Die Klassendefinition
            o 5.10.4 Die Initialisierungsmethode Init
            o 5.10.5 Der Umgang mit dem Hörer
      5.11 Die tbSound-Klasse
            o 5.11.1 Fähigkeiten der Klasse
            o 5.11.2 Das Prinzip der Soundpufferliste
            o 5.11.3 Die Klassendefinition
            o 5.11.4 Laden des Sounds
            o 5.11.5 Die Exit-Methode
            o 5.11.6 Die SetPosition-Methode
            o 5.11.7 Einen Sound abspielen
            o 5.11.8 Abspielen des nächsten Soundpuffers
            o 5.11.9 Die restlichen Methoden ...
      5.12 Musik ins Spiel bringen
            o 5.12.1 Was unterscheidet Musik von Soundeffekten?
            o 5.12.2 DirectShow-Grundlagen
            o 5.12.3 Kontrolle über den Filtergraphen
            o 5.12.4 Die Klasse tbMusic
            o 5.12.5 Das Beispielprogramm
      5.13 Ausblick

6 Theorie der Spieleprogrammierung

  6 Theorie der Spieleprogrammierung
      6.1 Was Sie in diesem Kapitel erwartet
      6.2 Warum Planung wichtig ist
      6.3 Am Anfang steht die Idee
            o 6.3.1 Inspiration
            o 6.3.2 Auf Ideen vorbereitet sein
            o 6.3.3 Aussortieren
            o 6.3.4 Storydesign
            o 6.3.5 Entwicklung eines Ablaufschemas
      6.4 Suche nach Teammitgliedern
      6.5 Vermitteln des Spiels und gemeinsame Analyse
            o 6.5.1 Die Absichten klarmachen
            o 6.5.2 Machbarkeitsanalyse
            o 6.5.3 Tipps
      6.6 Ausarbeitung der Details
      6.7 Einteilung in Module
      6.8 Level-Design und Atmosphäre
            o 6.8.1 Abenteuer-, Actionund Rollenspiele
            o 6.8.2 Puzzlespiele
            o 6.8.3 Simulatoren
            o 6.8.4 Wann eine Aufgabe zu schwer ist
            o 6.8.5 Tipps für das Level-Design
            o 6.8.6 Allgemeine Tipps für eine bessere Spielatmosphäre
      6.9 Tipps zum Programmieren
            o 6.9.1 Planung und Standard
            o 6.9.2 Implementierung neuer Features
            o 6.9.3 Die Liebe zum Detail
      6.10 Testen Ihres Spiels
            o 6.10.1 Testen während des Entwicklungsprozesses
            o 6.10.2 Testen des fertigen Spiels
      6.11 Ausblick

7 Das erste Spiel

  7 Das erste Spiel
      7.1 Was Sie in diesem Kapitel erwartet
      7.2 Planung
            o 7.2.1 Das Spielprinzip und der Name des Spiels
            o 7.2.2 Die Darstellung
            o 7.2.3 Die Spielzustände
            o 7.2.4 Das Spielgerüst
      7.3 Die Grundklasse CBreakanoid
            o 7.3.1 Variablen
            o 7.3.2 Methoden
            o 7.3.3 Die WinMain-Funktion für Breakanoid
      7.4 Das Titelbild
            o 7.4.1 Planung des Titelbilds
            o 7.4.2 Die Schriftarten
            o 7.4.3 Initialisieren, Laden und Entladen des Titelbilds
            o 7.4.4 Rendern des Titelbilds
            o 7.4.5 Bewegung des Titelbilds
      7.5 Das Hauptmenü
            o 7.5.1 Planung des Hauptmenüs
            o 7.5.2 Laden, Entladen, Betreten und Verlassen
            o 7.5.3 Rendern
            o 7.5.4 Bewegen des Hauptmenüs
            o 7.5.5 Sound für das Hauptmenü!
      7.6 Das Spiel
            o 7.6.1 Planung des Spiels
            o 7.6.2 Schritt 1: die CGame-Klasse
            o 7.6.3 Schritt 2: Anzeigen des Levelmodells
            o 7.6.4 Schritt 3: Her mit dem Schläger!
            o 7.6.5 Schritt 4: Ein Levelsystem
            o 7.6.6 Schritt 5: Bälle hinzufügen
            o 7.6.7 Schritt 6: Die Blöcke
            o 7.6.8 Schritt 7: Versuche
            o 7.6.9 Schritt 8: Punkte
            o 7.6.10 Schritt 9: Sound für das Spiel
            o 7.6.11 Schritt 10: Hier spielt die Musik!
      7.7 Minimieren im Vollbildmodus
            o 7.7.1 Das Problem
            o 7.7.2 Die Lösung
      7.8 Motion-Blurring
      7.9 Erweiterungsvorschläge
      7.10 Ausblick

8 Das zweite Spiel

  8 Das zweite Spiel
      8.1 Was Sie in diesem Kapitel erwartet
      8.2 Planung
            o 8.2.1 Das Spielprinzip und der Name des Spiels
            o 8.2.2 Die Spielzustände
            o 8.2.3 Die Schiffe
            o 8.2.4 Die Waffensysteme
            o 8.2.5 Speicherung der Informationen
            o 8.2.6 Die Schiffssysteme
      8.3 Schiffsund Waffentypen
            o 8.3.1 Die Struktur SShipType
            o 8.3.2 Die Struktur SWeaponType
            o 8.3.3 Laden aus der INI-Datei
      8.4 Die Klasse tbObject
            o 8.4.1 Unser bisheriger Ansatz
            o 8.4.2 Das neue Prinzip
            o 8.4.3 Position und Skalierung
            o 8.4.4 Ein Fall für die Matrix!
            o 8.4.5 Relativ zu absolut - und zurück
            o 8.4.6 Die Physik kommt hinzu
            o 8.4.7 Implementierung von tbObject
      8.5 Der Umgang mit Schiffen
            o 8.5.1 Die CShip-Klasse
            o 8.5.2 Integrierung in CGame
            o 8.5.3 Bewegen der Schiffe
            o 8.5.4 Kontrolle eines Schiffs
            o 8.5.5 Rendern der Schiffe
            o 8.5.6 Aufschalten von Zielen
      8.6 Alle Waffen abfeuern!
            o 8.6.1 Die CProjectile-Klasse
            o 8.6.2 Feuern
            o 8.6.3 Bewegen
            o 8.6.4 Rendern
      8.7 Sprites
            o 8.7.1 Was sind Sprites?
            o 8.7.2 Missbrauch der Kameraachsen
            o 8.7.3 Die TriBase-Sprite-Engine
            o 8.7.4 Zurück zum Spiel: Rendern der Laser
      8.8 Kollisionserkennung
            o 8.8.1 Rückblick: Umgebungskugel und Umgebungsquader
            o 8.8.2 Das Prinzip der Kollisionserkennung
            o 8.8.3 Kugel - Kugel
            o 8.8.4 Linie - Kugel
            o 8.8.5 Linie - Dreieck
            o 8.8.6 Dreieck - Dreieck
            o 8.8.7 Linie - Quader
            o 8.8.8 Quader - Quader
            o 8.8.9 Wie wir mit Modellen umgehen
            o 8.8.10 Vorberechnungen
            o 8.8.11 Linien und Modelle
            o 8.8.12 Kollision zwischen zwei Modellen
            o 8.8.13 Hardcore-Kollisionserkennung
            o 8.8.14 Volltreffer!
            o 8.8.15 Zusammenstoß zweier Schiffe
      8.9 Auto-Aiming
            o 8.9.1 Definition
            o 8.9.2 Der mathematische Hintergrund
            o 8.9.3 Die neue CShip::Fire-Methode
      8.10 \"Künstliche Intelligenz\"
            o 8.10.1 Das Verhalten eines Schiffs
            o 8.10.2 Schritt 1: Kurs auf das Ziel nehmen
            o 8.10.3 Schritt 2: Feuern
            o 8.10.4 Schritt 3: Ausweichmanöver bei Treffer
            o 8.10.5 Schritt 4: Ausweichmanöver bei drohender Kollision
            o 8.10.6 Schritt 5: Wechseln des Ziels
      8.11 Partikel
            o 8.11.1 Was Partikel sind
            o 8.11.2 Das Partikelsystem der TriBase-Engine
            o 8.11.3 Antriebsund Raketenflammen
            o 8.11.4 Explosionen
            o 8.11.5 Aufleuchten des Schutzschilds
            o 8.11.6 Trümmer
      8.12 Weitere optische Verfeinerungen
            o 8.12.1 Sky-Box, Licht und Nebel
            o 8.12.2 Ein \"Sternenfeld\"
            o 8.12.3 Glühen von Projektilen
      8.13 Die Kamera
      8.14 Das Cockpit
            o 8.14.1 Das Cockpitmodell
            o 8.14.2 Die Anzeigen
            o 8.14.3 Das HUD
            o 8.14.4 Radar
      8.15 Der Sound
            o 8.15.1 Schüsse
            o 8.15.2 Antriebssounds
            o 8.15.3 Der Hörer
      8.16 Die Benutzeroberfläche
            o 8.16.1 Die TriBase-Benutzeroberfläche
            o 8.16.2 Erstellung des Hauptmenüs
      8.17 Optimierungen und der Feinschliff
            o 8.17.1 Sichtbarkeit eines Objekts
            o 8.17.2 Render-Modell und Kollisionsmodell
            o 8.17.3 Musik
            o 8.17.4 Wackelndes Cockpit
            o 8.17.5 Screenshots schießen
      8.18 Erweiterungsvorschläge
      8.19 Ausblick

9 Fortgeschrittene Techniken

  9 Fortgeschrittene Techniken
      9.1 Was Sie in diesem Kapitel erwartet
      9.2 Schatten mit dem Stencil-Buffer
            o 9.2.1 Schatten in der 3D-Grafik
            o 9.2.2 Ansätze
            o 9.2.3 Das Prinzip
            o 9.2.4 Die Klasse tbShadowVolume
            o 9.2.5 Das Beispielprogramm
      9.3 Videos abspielen
            o 9.3.1 Zielsetzung
            o 9.3.2 Schreiben eines eigenen Filters
            o 9.3.3 Verwenden des Filters
            o 9.3.4 Der Back-Buffer-Mechanismus
            o 9.3.5 Videos in den Speicher laden
      9.4 Stereo-3D-Grafik
            o 9.4.1 Das räumliche Sehen
            o 9.4.2 Trennen der Bilder
            o 9.4.3 Implementierung
            o 9.4.4 Beispielprogramme
      9.5 Raumaufteilung
            o 9.5.1 Rekursives Rendern
            o 9.5.2 PVS und Portale
            o 9.5.3 Light-Mapping
            o 9.5.4 Die TriBase-Klasse tbOctree
      9.6 Terrain-Rendering
            o 9.6.1 Repräsentierung eines Terrains
            o 9.6.2 Unterteilung des Terrains
            o 9.6.3 Erzeugen der Dreiecke
            o 9.6.4 Terrain-Rückruffunktion
            o 9.6.5 Geo-MIP-Mapping
            o 9.6.6 Texturierung
            o 9.6.7 Beleuchtung
            o 9.6.8 Das TriBase-Tool TerrainEditor
      9.7 Die Welt der Shader
            o 9.7.1 Was ein Shader ist
            o 9.7.2 Einsatzgebiete
            o 9.7.3 Die fixe und die programmierbare Rendering-Pipeline
            o 9.7.4 Ein einfacher Vertex-Shader
            o 9.7.5 Ein einfacher Pixel-Shader
            o 9.7.6 Praktischer Einsatz von Shadern
            o 9.7.7 Weiterführende Quellen und Referenz
      9.8 Charakteranimation
            o 9.8.1 Das Grundprinzip
            o 9.8.2 Skinning in Hardware
            o 9.8.3 Skinning mit D3DX
            o 9.8.4 Weitere Informationen
      9.9 PlugIns schreiben und laden
            o 9.9.1 DLL-Dateien explizit laden
            o 9.9.2 Adresse einer Funktion abfragen
            o 9.9.3 DLL-Dateien erzeugen
            o 9.9.4 Die Kommunikation zwischen Anwendung und PlugIn
            o 9.9.5 Das Beispielprogramm
      9.10 Arbeiten mit Threads
            o 9.10.1 Prozesse im Betriebssystem
            o 9.10.2 Was ist ein Thread?
            o 9.10.3 Die Thread-Funktion
            o 9.10.4 Erzeugen eines Threads
            o 9.10.5 Verwaltungsfunktionen
            o 9.10.6 Thread-Synchronisierung
            o 9.10.7 Zusammenfassung
      9.11 Eine einfache Skriptsprache
            o 9.11.1 Einsatzgebiet von Skriptsprachen
            o 9.11.2 Ein Skript als Liste von Befehlen
            o 9.11.3 Verwendung von Funktionszeigern
            o 9.11.4 Übergabe von Parametern
            o 9.11.5 Einen Thread verwenden
            o 9.11.6 Die Klasse CScript
            o 9.11.7 Das Beispielprogramm
            o 9.11.8 Fortgeschrittene Skriptsprachen
      9.12 Interpolationen
            o 9.12.1 Nachteil linearer Interpolationen
            o 9.12.2 Hermite-Interpolation mit Tangenten
            o 9.12.3 In zwei Richtungen - die bilineare Interpolation
      9.13 Abstrakte Spielund Spielzustandsklassen
            o 9.13.1 Die Spielzustandsklasse
            o 9.13.2 Die Spielklasse
            o 9.13.3 Die Anwendung
      9.14 Fixed-Step-Spiellogik
            o 9.14.1 Die Problematik
            o 9.14.2 Ein Lösungsansatz
      9.15 Online-Highscores und Versionskontrolle
            o 9.15.1 Die Möglichkeiten
            o 9.15.2 Die Realisierung
            o 9.15.3 Internetseiten in einem C++-Programm abrufen
      9.16 Ausblick

10 FAQ, Internetseiten und CD-ROM

  10 FAQ, Internetseiten und CD-ROM
      10.1 FAQ
      10.2 Interessante Internetseiten
      10.3 Die Programme auf der Begleit-CD-ROM
            o 10.3.1 3Dografe
            o 10.3.2 AC3D v5.021 Demo
            o 10.3.3 MilkShape 3D v1.76 Demo
            o 10.3.4 POV-Ray v3.6
            o 10.3.5 Sound Forge 7 Demo
            o 10.3.6 Terragen 0.943
            o 10.3.7 Texture Maker v2.81 Demo
            o 10.3.8 Visual Assist X Demo
            o 10.3.9 2D-Game-Framework
      10.4 Das Ende

Index




نظرات کاربران