دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نويسي ویرایش: نویسندگان: Stefan Zerbst سری: ISBN (شابک) : 3827264006, 9783827264008 ناشر: سال نشر: تعداد صفحات: 945 زبان: German فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 11 مگابایت
در صورت تبدیل فایل کتاب 3D-Spiele-Programmierung - Kompendium. Spiele planen und programmieren به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب خلاصه برنامه نویسی بازی سه بعدی. بازی ها را برنامه ریزی و برنامه ریزی کنید نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
3D-Spiele-Programmierung - Professionelle Entwicklung von 3D-Engines und -Spielen......Page 3
Teil 3 Hilfsmodule für die Engine......Page 5
Teil 5 Anhang......Page 6
Entstehungsprozess eines Spiels......Page 7
Implementierung der dynamischen Bibliothek......Page 8
Rechnen mit AABB und OBB......Page 9
Texturen aufnehmen......Page 10
Rendern von Text, Punkten und Linien......Page 11
Das Modellformat CBF......Page 12
Ran an die Tasten......Page 13
Netzwerk-Spiele......Page 14
Bewegung durch ZFXMovementController......Page 15
Implementierung eines Octrees......Page 16
Ausgewählte Aspekte des GUI......Page 17
ZBL-API – Integrieren der ZBL/0-Virtual Machine in eigene Projekte......Page 18
Stichwortverzeichnis......Page 19
Vorwort......Page 21
Was steht in diesem Buch?......Page 25
Was steht nicht in diesem Buch?......Page 26
Konzeptionelle Vorgehensweise......Page 27
Verwendete Werkzeuge......Page 29
Hardware-Voraussetzungen......Page 30
Was ist ZFX?......Page 31
Entwickler-Community ZFX......Page 32
Entwickler-Event zfxCON......Page 33
Teil 1 Einführung in die Thematik......Page 35
1.1 Modewort 3D-Engine......Page 37
Nostalgie und Neuzeit......Page 41
Der Zauberer von Oz .........Page 43
... und die Verantwortung eines Gottes......Page 44
1.3 Entstehungsprozess eines Spiels......Page 45
Spieleprogrammierung (Game-Programming)......Page 47
Spiele-Design (Game-Design)......Page 48
Spiel-Entwurf (Game-Proposal)......Page 50
Publisher, Veröffentlichung und Erlös......Page 55
Verkaufszahlen......Page 57
Alternativen......Page 58
1.4 Sage mir, mit wem du gehst .........Page 59
1.5 DirectX und OpenGL, Versionspolitik......Page 61
1.6 Warum schwer, wenn's auch einfach geht?......Page 62
1.7 Auf los geht's los......Page 63
2.1 Anforderungen an die Engine......Page 65
2.2 API-Unabhängigkeit durch Interface-Definitionen......Page 67
2.3 Struktur der ZFXEngine......Page 69
ZFXRenderDevice Interface......Page 70
ZFXAudioDevice Interface......Page 71
2.5 Ein Blick zurück, zwei Schritt nach vorn......Page 72
3.1 Begriffsbestimmung Interface......Page 73
3.2 Unser Interface......Page 75
3.3 Der Arbeitsbereich für unsere Implementierung......Page 77
ZFXRenderer, eine statische Bibliothek als Manager......Page 79
ZFXD3D, eine dynamische Bibliothek als Render-Device......Page 80
ZFXRenderDevice, ein Interface als abstrakte Klasse......Page 82
3.4 Implementierung der statischen Bibliothek......Page 84
3.5 Implementierung der dynamischen Bibliothek......Page 89
Exportierte Funktionen......Page 91
Komfort durch einen Dialog......Page 93
Initialisierung, Enumeration und Shutdown......Page 99
Zwischen Child-Windows wechseln......Page 106
Render-Funktionen......Page 107
3.6 Testlauf der Implementierung......Page 109
3.7 Ein Blick zurück, zwei Schritt nach vorn......Page 115
4.1 Schnell, schneller, am schnellsten......Page 117
Grundlagen der Assembler-Programmierung......Page 119
Einführung in SIMD......Page 122
Wie sag ich's meinem Compiler?......Page 133
Identifikation einer CPU......Page 134
Unterstützung für SSE zur Laufzeit überprüfen......Page 140
4.2 Rechnen mit Vektoren......Page 141
Grundlegende (arithmetische) Operationen......Page 144
Komplexere Operationen mit SSE-Unterstützung......Page 147
4.3 Rechnen mit Matrizen......Page 153
Grundlegende Operationen......Page 155
4.4 Rechnen mit Strahlen......Page 158
Grundlegende Operationen......Page 159
Kollision mit Dreiecken......Page 161
Kollision mit Ebenen......Page 162
Kollision mit Bounding-Boxen......Page 164
4.5 Rechnen mit Ebenen......Page 169
Grundlegende Operationen......Page 171
Kollision mit Dreiecken......Page 172
Kollision zwischen Ebenen......Page 173
Kollision mit Bounding-Boxen......Page 174
4.6 Rechnen mit AABB und OBB......Page 176
Grundlegende Operationen und Culling......Page 178
Kollision mit Dreiecken......Page 182
Ebenen einer AABB......Page 185
4.7 Rechnen mit Polygonen......Page 186
Grundlegende Operationen......Page 187
Punkte für das Polygon festlegen......Page 189
Clippen eines Polygons......Page 192
Culling mit Bounding-Boxen......Page 199
Kollision mit Strahlen......Page 201
Einführung in den 4D-Raum......Page 203
Grundlegende Operationen......Page 206
Multiplikation zweier Quaternions......Page 207
Konstruktion aus Euler-Winkeln......Page 208
Rotationsmatrix zu einem Quaternion......Page 209
4.9 Ein Blick zurück, zwei Schritt nach vorn......Page 210
Teil 2 Rendern von Grafik......Page 213
5.1 Mittleres Management......Page 215
Texturen......Page 219
Licht und Material......Page 220
Grundlegende Strukturen......Page 224
Interface-Definition für einen Skin-Manager......Page 230
Skin-Manager des Direct3D-Renders......Page 233
Farben und Materialien vergleichen......Page 237
Skins austeilen......Page 238
5.3 Skins und Materialien aufnehmen......Page 239
5.4 Texturen aufnehmen......Page 241
Texturen zu den Skins hinzufügen......Page 242
Grafikdateien als Texturen laden......Page 245
5.5 Transparenz der Texturen einstellen......Page 249
Color-Keys über Alpha Channels......Page 253
Allgemeine Transparenz über Alpha Channels......Page 254
5.6 Ein Blick zurück, zwei Schritt nach vorn......Page 256
6.1 Simplizität versus Flexibilität......Page 259
6.2 Projekteinstellungen......Page 260
6.3 Sicht und Projektion......Page 262
Multiple Stages......Page 264
Viewports, Viewmatrizen und das Frustum......Page 266
Orthogonale Projektion......Page 273
Perspektivische Projektion......Page 275
Aktivieren von Sicht und Projektion......Page 278
Koordinatenumrechnung 2D zu 3D und zurück......Page 282
Resümee: Sicht und Projektion......Page 286
Festlegen der Welttransformation......Page 287
6.4 Vertex-Strukturen......Page 288
6.5 Shader-Support......Page 290
Notwendige Vorbereitungen......Page 291
Vertex-Shader......Page 295
Pixel-Shader......Page 301
6.6 Aktivierung von Renderstates......Page 302
Grundlagen zu Hardware und Performance......Page 307
Caching beim Rendern......Page 310
Statische vs. dynamische Vertex- und Index-Buffer......Page 311
Interface-Definition für einen Vertex-Cache-Manager......Page 313
Vertex-Cache-Objekt......Page 315
Vertex-Cache-Manager......Page 328
Fonts anlegen und Text rendern......Page 344
6.9 Punktlisten rendern......Page 348
Linienlisten rendern......Page 350
6.10 Darstellung einer Szene......Page 352
Multiple 3D-Child-Windows mit multiplen Viewports......Page 355
Einfacher Geometrie-Loader......Page 358
6.12 Ein Blick zurück, zwei Schritt nach vorn......Page 359
7.1 Grundlagen von Shadern......Page 361
3D-Pipeline......Page 362
CPU-lastig versus GPU-lastig......Page 364
Vertex-Manipulation über Vertex-Shader......Page 366
Pixel-Manipulation über Pixel-Shader......Page 368
7.2 Shader-Techniken und Beispiele......Page 369
Demo 1: Basistransformationen......Page 370
Demo 2: Single-Pass-Multitexturing......Page 378
Demo 3: Directional Lighting per Pixel......Page 380
Demo 4: Per-Pixel-Omni-Lights......Page 383
Demo 5: Graustufenfilter......Page 393
Demo 6: Bump-Mapping......Page 394
7.3 Ein Blick zurück, zwei Schritt nach vorn......Page 410
8.1 Eine Revolution?......Page 411
Der Siegeszug......Page 413
8.2 Das Modellformat CBF......Page 418
Was ist ein Chunk?......Page 419
Unsere Hauptmethode......Page 421
Den Kopf einlesen (ReadHeader)......Page 422
Einlesen der Vertices (ReadVertices)......Page 424
Triangle-Information einlesen (ReadFaces)......Page 427
Das Netz (ReadMesh)......Page 428
Auf das Material kommt es an (ReadMaterial)......Page 429
Die Joints, bitte (ReadJoints)......Page 431
Die Rotation (ReadJoint_KeyFrame_Rot)......Page 434
Die Position (ReadJoint_KeyFrame_Pos)......Page 436
Sei animiert (ReadAnimations)......Page 437
Passt es? (SetScaling)......Page 439
Vorbereitung der Daten (Prepare)......Page 442
Skeletale Animation (SetupBones)......Page 447
Bewegung im Modell (Animation)......Page 452
Vorbereitung ist alles (AnimationPrepare)......Page 454
Meine Position (AnimationVertices)......Page 459
Aktueller Stand (Update)......Page 462
Präsentationstermin (Render)......Page 463
Bis auf die Knochen runter (RenderBones)......Page 464
Voll normal (RenderNormals)......Page 466
8.5 Ein Blick zurück, zwei Schritt nach vorn......Page 468
Teil 3 Hilfsmodule für die Engine......Page 469
9.1 Kurz und schmerzlos......Page 471
Altbekanntes Interface-Design......Page 472
Interface-Definition für eine Eingabe-Klasse......Page 473
9.2 Basisklasse für DirectInput-Devices......Page 474
Erstellen und Freigeben des Objekts......Page 475
Inbetriebnahme......Page 476
Abfrage des Inputs......Page 478
9.3 Ran an die Tasten......Page 481
Initialisierung und Freigabe......Page 482
Update......Page 483
Abfrage des Inputs......Page 484
ZFXMouse-Klasse......Page 485
Initialisierung und Freigabe......Page 486
Update......Page 487
ZFXJoystick-Klasse......Page 490
Initialisierung und Freigabe......Page 491
Update......Page 493
9.6 Implementierung des Interfaces......Page 494
Initialisierung und Freigabe......Page 495
Update......Page 497
Abfrage der Daten......Page 498
9.7 Demo-Applikation zur Anwendung der DLL......Page 499
9.8 Ein Blick zurück, zwei Schritt nach vorn......Page 502
10.1 Kurz und schmerzlos......Page 505
Altbekanntes Interface-Design......Page 506
Interface-Definition für eine Audio-Klasse......Page 507
10.2 Implementierung des Interfaces......Page 508
ZFXAudio Klasse......Page 509
Initialisierung und Freigabe......Page 512
Das Laden und Abspielen von Sounds......Page 515
Zuhörer und Quelle für 3D-Sound......Page 520
10.4 Ein Blick zurück, zwei Schritt nach vorn......Page 522
11.1 Netzwerk-Spiele......Page 523
Session-basiert......Page 524
Persistente Welten......Page 526
LAG......Page 527
Client-Server......Page 528
Das OSI-Modell......Page 530
Protokolle......Page 532
APIs......Page 533
Altbekanntes Interface-Design......Page 535
Pakete schnüren......Page 536
Warteschlangen......Page 538
Socket-Objekte......Page 542
Interface-Definition für eine Netzwerk-Klasse......Page 557
Windows Sockets-Kapselung......Page 559
11.5 Demo-Applikation zur Anwendung der DLL......Page 573
Chatten über das Netzwerk......Page 574
Dateien versenden......Page 579
11.6 Ein Blick zurück, zwei Schritt nach vorn......Page 588
12.1 Hilfsbibliothek ZFXGeneral......Page 589
1st-Person-Kamera......Page 590
3rd-Person Kamera......Page 591
Wozu einen Movement-Controller?......Page 592
Implementierung der Basisklasse......Page 593
Ableitung einer freien Kamera......Page 596
Ableitung einer 1st-Person-Kamera......Page 598
12.5 Ein Blick zurück, zwei Schritt nach vorn......Page 602
13.1 Sinn des Scene-Managements......Page 605
13.2 Scene-Management-Techniken......Page 607
Keine Lösung ist auch eine Lösung......Page 608
Kontinuierliche und diskrete Detail-Level......Page 609
Quadtrees......Page 611
Octrees......Page 621
Binary Space Partitioning Trees......Page 623
Portal-Engines......Page 634
Potential Visibility Set......Page 643
13.3 Implementierung eines BSP-Baums......Page 645
Klassendeklaration......Page 647
Rekursives Erstellen des Baums......Page 650
Auswahl des besten Splitters......Page 654
Durchlaufen des Baums......Page 655
Kollisionsabfragen......Page 658
13.4 Implementierung eines Octrees......Page 660
Klassen-Deklaration......Page 661
Erzeugen und Freigeben einer Instanz......Page 663
Initialisieren eines Child-Nodes......Page 664
Rekursives Erstellen des Baums......Page 665
Polygonliste auf einen Node beschneiden......Page 667
Kollisionsabfragen im Octree......Page 670
Höhe des Spielers im Octree......Page 672
Durchlaufen des Baums......Page 675
13.5 Demo-Applikation BSP-Tree und Octree......Page 678
Rendern von ZFXPolygon-Instanzen......Page 679
Laden der Level-Daten......Page 681
Berechnung eines Frames......Page 684
Sehenswertes in der Demo......Page 687
13.6 Ein Blick zurück, zwei Schritt nach vorn......Page 688
Teil 4 Schwarze Magie der Spiele programmierung......Page 691
Ingenieur, Architekt, Spiele-Entwickler......Page 693
Level-Editing-Tools......Page 694
14.2 Low-Polygon-Editor PanBox Edit......Page 695
Fähigkeiten des Tools......Page 696
14.3 Klassen-Design des Tools......Page 698
Genereller Aufbau eines Levels......Page 699
Die Grundlage allen Seins: CLevelObject......Page 701
Auf unterster Ebene: CPolygon......Page 705
Komplexe Modelle: CPolymesh......Page 725
Aufbruch in eine neue Welt: CPortal......Page 744
Es werde Licht: CLight......Page 751
Interaktive Objekte: CEntity......Page 756
Ich mach den Fisch: CSpawnPoint......Page 761
Lokales Management: CSector......Page 762
Alle zusammen: CLevel......Page 789
In der engeren Wahl: CSelectionBuffer......Page 793
14.4 Ausgewählte Aspekte des GUI......Page 805
Klassendeklaration......Page 806
Wichtige Attribute......Page 809
Update-Methode......Page 811
Ein Polygon erstellen......Page 812
14.5 Ein Blick zurück, zwei Schritt nach vorn......Page 814
15.1 Der Deathmatch-Ego-Shooter Pandoras Legacy......Page 815
Einfaches Game-Design......Page 816
Altbekannte Klassen neu aufgelegt......Page 817
15.2 Im Schatten unser selbst......Page 818
Verschiedene Verfahren zum Schattenwurf......Page 819
Zur Theorie der Shadow-Volumes......Page 820
Implementierung von Shadow-Volumes......Page 827
Erstellen des Shadow-Volumes......Page 831
15.3 Einen Level laden......Page 840
Benötigte Hilfsdatenstrukturen......Page 841
Lade-Methode in CGameLevel......Page 842
Lade-Methode in CGameSector......Page 843
Verbindungen zwischen den Portalen herstellen......Page 853
15.4 Einen Level rendern......Page 855
Rendern der Geometrie......Page 856
Die Schatten im Level rendern......Page 863
15.5 Integration von Characters......Page 865
CGameCharacter, die Basisklasse für Spieler und NPCs......Page 866
Netzwerknachrichten von und für Characters......Page 868
Update des Spiels......Page 870
Aufgaben für das Netzwerk......Page 872
15.7 Ein Blick zurück, zwei Schritt nach vorn......Page 874
16.1 Kontrolle von NPCs......Page 877
16.2 ZBL/0 ZFX Bot Language – die Scriptsprache für ZFX- Bots......Page 878
Mehr über das ZBL-API-Interface......Page 879
Mehr über die Virtual Machine......Page 883
16.4 ZBL/0 Toolkit – die ZBL-Entwicklungsumgebung......Page 892
Die Scriptsprache ZBL/0 (Syntax)......Page 894
EZBL/0-Standardbefehle und Anweisungen......Page 898
Die Entwicklung eines Game-Bots mit ZBL/0......Page 901
16.6 Ein Blick zurück, zwei Schritt nach vorn......Page 910
Teil 5 Anhang......Page 913
A.1 House-Keeping Funktionen zur generellen Botsteuerung......Page 915
A.2 Modifikatoren zur Problemspezifikation......Page 917
A.3 Game-Bot Kontrollfunktionen......Page 918
A.4 Game-Bot Sensor-Funktionen......Page 921
A.5 Andere Funktionen in ZBL/0......Page 923
B CD-ROM und begleitendes Material zu diesem Buch (CD-ROM nicht für dieses eBook erhältlich)......Page 925
C Internetseiten rund um die Spieleentwicklung......Page 927
D Epilog......Page 929
Bitbefehle......Page 931
Directional Light......Page 932
Funktionen......Page 933
Klassen......Page 934
Leaf......Page 938
Netzwerk......Page 939
Preemptives Multitasking......Page 940
Scene-Management......Page 941
Strukturen......Page 942
Weltkoordinatensystem......Page 943
ZFXEngine......Page 944
Ins Internet: Weitere Infos zum Buch, Downloads, etc.......Page 0
© Copyright......Page 945