Uwe Kettermann, Christian Schmelzer
DirectX mit Visual Basic programmieren, m. CD-ROM
Praxis und Referenz
Ein Angebot für € 13,69 €
Uwe Kettermann, Christian Schmelzer
DirectX mit Visual Basic programmieren, m. CD-ROM
Praxis und Referenz
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
DirectX ist die Multimedia-Schnittstelle für Windows, das DirectX-API (Application Programming Interface) erweitert das 32-Bit-API von Windows um zahlreiche Grafik- und Multimediafunktionen. Viele aktuelle Computerspiele basieren auf DirectX, das zugehörige SDK (Software Developer Kit) wird von Microsoft selbst angeboten. Mit DirextX 7 sind erstmals die notwendigen COM-Schnittstellen für Visual Basic erhältlich. Durch die Nutzung von DirectX eröffnen sich dem VB-Programmierer neue Dimensionen der Multimediaprogrammierung. Erstmals ist es möglich, in Bereiche vorzudringen, welche zuvor von den Hochsprachen wie C++ dominiert wurden.…mehr
DirectX ist die Multimedia-Schnittstelle für Windows, das DirectX-API (Application Programming Interface) erweitert das 32-Bit-API von Windows um zahlreiche Grafik- und Multimediafunktionen. Viele aktuelle Computerspiele basieren auf DirectX, das zugehörige SDK (Software Developer Kit) wird von Microsoft selbst angeboten. Mit DirextX 7 sind erstmals die notwendigen COM-Schnittstellen für Visual Basic erhältlich. Durch die Nutzung von DirectX eröffnen sich dem VB-Programmierer neue Dimensionen der Multimediaprogrammierung. Erstmals ist es möglich, in Bereiche vorzudringen, welche zuvor von den Hochsprachen wie C++ dominiert wurden.
Produktdetails
- Produktdetails
- New Technology
- Verlag: Markt +Technik
- Seitenzahl: 639
- Abmessung: 245mm
- Gewicht: 1188g
- ISBN-13: 9783827257666
- ISBN-10: 3827257662
- Artikelnr.: 25926006
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
- New Technology
- Verlag: Markt +Technik
- Seitenzahl: 639
- Abmessung: 245mm
- Gewicht: 1188g
- ISBN-13: 9783827257666
- ISBN-10: 3827257662
- Artikelnr.: 25926006
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
Kapitel 1 DirectDraw 17
1.1 DirectDraw-Grundlagen 22
1.1.1 Der Aufbau von DirectDraw 22
1.1.2 Cooperative Level 25
1.1.3 Display Mode 26
1.1.4 Colorkey 29
1.1.5 Surface 30
1.1.6 Palette 38
1.1.7 Clipper 39
1.1.8 Blitting 40
1.1.9 Page Flipping 41
1.2 Blitting 42
1.3 Sprites durch Transparenz 51
1.4 Fullscreen 65
1.5 Fullscreen und Spriteanimation 72
1.6 Hintergrund-Scrolling 75
1.7 Spritekollision 78
1.8 Bienenjagd 88
1.9 Methoden zum Zeichnen 93
Kapitel 2 Direct3D 101
2.1 3D-Koordinatensystem 104
2.2 3D-Primitives 105
2.3 Zeichnen eines Dreiecks 106
2.4 Dreieck-Raster-Regeln 118
2.5 World-, View- und Projection-Matrix 120
2.6 Matrix-Berechnungen 122
2.6.1 Translation 122
2.6.2 Rotation 123
2.6.3 Scaling 130
2.7 Polygone 132
2.8 Licht 137
2.8.1 Indirektes Licht (Ambientlight) 139
2.8.2 Direktes Licht 139
2.8.3 Licht, Schatten und Polygone 146
2.8.4 Licht aktivieren / deaktivieren 148
2.8.5 Beispiel (Licht) 151
2.9 Material 157
2.9.1 Setzen von Material 159
2.9.2 Beispiel (Material) 161
2.10 Texturen 165
2.10.1 Beispiel (Textur 1) 166
2.10.2 Textur-Koordinaten 170
2.10.3 Texture Filtering 184
2.10.4 Texture Blending 201
2.11 Z-Buffer (Tiefenspeicher) 212
2.12 Die SetRenderState()-Methode 218
2.13 Effekte 225
2.13.1 Nebel 225
2.13.2 Billboarding 236
2.13.3 Feuer und Explosionen 240
2.13.4 Antialiasing 246
Kapitel 3 DirectInput 253
3.1 Objekthierarchie 254
3.2 Cooperative Level 257
3.3 Datenformat 258
3.3.1 Standard-Datenformat 259
3.3.2 Benutzerdefiniertes Datenformat 259
3.4 Beispiel: Tastatur 260
3.5 Beispiel: Joystick 262
3.6 Beispiel: Maus 268
3.7 Beispiel: DirectInput und Direct3D 272
3.8 Bewegung im 3D-Raum 279
Kapitel 4 DirectSound 283
4.1 DirectSound-Architektur 285
4.2 Datenformat 285
4.3 HAL und HEL 286
4.4 Systemintegration 286
4.5 Initialisieren von DirectSound 287
4.6 Erstellen des DirectSound-Objektes 288
4.7 Buffer-Grundlagen 290
4.8 Primary Soundbuffer 291
4.9 Static und Streaming Soundbuffer 291
4.10 Erzeugen von Soundbuffern 292
4.11 Buffer-Einstellungen 294
4.12 Buffer Playback Controls 294
4.13 Ein einfaches Soundbeispiel 296
4.14 Der PlayCursor 299
4.15 Playbuffer-Benachrichtigungen 301
4.16 Direct3DSound 301
4.16.1 Grundlagen 302
4.16.2 Mono- und Stereo-Soundquellen 303
4.17 DirectSound3DBuffer 304
4.17.1 Parameter-Manipulation 305
4.17.2 Entfernungen 307
4.17.3 Auswählen von Schallquellen 308
4.17.4 Operation Mode 309
4.17.5 Position 310
4.17.6 Soundprojektion und -ausrichtung 311
4.17.7 Geschwindigkeit 314
4.18 DirectSound3DListener 315
4.18.1 Parameter-Manipulation 316
4.18.2 Verzögerungseinstellungen 317
4.18.3 Entfernungsfaktoren 317
4.18.4 Dopplerfaktoren 317
4.18.5 Auswahlmöglichkeiten 318
4.18.6 Ausrichtung 318
4.18.7 Position 320
4.18.8 Abschwächung 320
4.18.9 Geschwindigkeit 322
4.18.10 Beispiel (Klangquellen im 3D-Raum) 323
4.19 DirectSound Capture 328
4.19.1 Erstellen eines Capturebuffers 328
4.19.2 Erläuterung zur Aufnahme 330
Kapitel 5 DirectPlay 337
5.1 DirectPlay-Basis 341
5.2 Beispiel (Chatsystem) 352
5.3 Kommunikationsmodelle 355
5.3.1 Peer-to-Peer-Session 355
5.3.2 Client/Server-Session 356
5.4 Lobbies 357
5.5 Service Provider 358
5.6 Sicherheit 358
5.7 Nachrichten 359
5.7.1 Nachrichten empfangen 360
5.7.2 Synchronisation 363
5.8 DirectPlay-Adresse 363
5.9 DirectPlay-Protokoll 364
5.10 Session 365
5.11 Spieler 369
5.12 Bienenjagd Multiplayer Demo 372
Anhang A Methoden 377
A.1 Globale DirectX7-Methoden 378
A.2 DirectDraw-Methoden 390
A.2.1 DirectDraw7 390
A.2.2 DirectDrawClipper 400
A.2.3 DirectDrawColorControl 402
A.2.4 DirectDrawEnum 403
A.2.5 DirectDrawEnumModes 404
A.2.6 DirectDrawEnumSurfaces 405
A.2.7 DirectDrawGammaControl 406
A.2.8 DirectDrawIdentifier 406
A.2.9 DirectDrawPalette 409
A.2.10 DirectDrawSurface7 410
A.3 Direct3D-Methoden 430
A.3.1 Direct3D7 430
A.3.2 Direct3DDevice7 432
A.3.3 Direct3DEnumDevices 452
A.3.4 Direct3DEnumPixelFormats 453
A.3.5 Direct3DVertexBuffer7 454
A.4 DirectSound-Methoden 457
A.4.1 DirectSound 457
A.4.2 DirectSound3DBuffer 460
A.4.3 DirectSound3DListener 466
A.4.4 DirectSoundBuffer 472
A.4.5 DirectSoundCapture 478
A.4.6 DirectSoundCaptureBuffer 479
A.4.7 DirectSoundEnum 482
A.5 DirectInput 483
A.5.1 DirectInput 483
A.5.2 DirectInputDevice 484
A.5.3 DirectInputDeviceInstance 494
A.5.4 DirectInputDeviceObjectInstance 496
A.5.5 DirectInputEffect 499
A.5.6 DirectInputEnumDeviceObjects 501
A.5.7 DirectInputEnumDevices 502
A.5.8 DirectInputEnumEffects 503
A.6 DirectPlay-Methoden 505
A.6.1 DirectPlay4-Methoden 505
A.6.2 DirectPlayEnumConnections 524
A.6.3 DirectPlayEnumLocalApplications 526
A.6.4 DirectPlayEnumPlayers 527
A.6.5 DirectPlayEnumSessions 529
A.6.6 DirectPlayLobby3 530
A.6.7 DirectPlayLobbyConnection 537
A.6.8 DirectPlayMessage 540
A.6.9 DirectPlaySessionData 546
Anhang B Konstanten 553
B.1 DirectDraw Enum 554
B.2 Direct3DEnum 565
B.3 DirectSoundEnum 583
B.4 DirectInput Enum 588
B.5 DirectPlay Enum 595
Anhang C Typen 601
C.1 DirectDraw-Typen 602
C.1.1 DDBLTFX 602
C.1.2 DDCAPS 602
C.1.3 DDCOLORCONTROL 604
C.1.4 DDCOLORKEY 604
C.1.5 DDGAMMARAMP 604
C.1.6 DDOVERLAYFX 604
C.1.7 DDPIXELFORMAT 605
C.1.8 DDSCAPS2 605
C.1.9 DDSURFACEDESC2 606
C.1.10 PALETTEENTRY 606
C.1.11 RECT 606
C.2 Direct3D-Typen 607
C.2.1 D3DCLIPSTATUS 607
C.2.2 D3DCOLORVALUE 607
C.2.3 D3DDEVICEDESC7 607
C.2.4 D3DDEVINFO_TEXTUREMANAGER 608
C.2.5 D3DDEVINFO_TEXTURING 608
C.2.6 D3DLIGHT7 609
C.2.7 D3DLIGHTINGCAPS 609
C.2.8 D3DLINEPATTERN 609
C.2.9 D3DLVERTEX 609
C.2.10 D3DMATERIAL7 610
C.2.11 D3DMATRIX 610
C.2.12 D3DPRIMCAPS 610
C.2.13 D3DRECT 611
C.2.14 D3DTLVERTEX 611
C.2.15 D3DVECTOR 611
C.2.16 D3DVERTEX 611
C.2.17 D3DVERTEXBUFFERDESC 612
C.2.18 D3DVIEWPORT7 612
C.2.19 DXDRIVERINFO 612
C.3 DirectSound-Typen 612
C.3.1 DS3DBUFFER 612
C.3.2 DS3DLISTENER 613
C.3.3 DSBCAPS 613
C.3.4 DSBPOSITIONNOTIFY 613
C.3.5 DSBUFFERDESC 613
C.3.6 DSCAPS 614
C.3.7 DSCBCAPS 614
C.3.8 DSCBUFFERDESC 615
C.3.9 DSCCAPS 615
C.3.10 DSCURSORS 615
C.3.11 DXDRIVERINFO 615
C.3.12 WAVEFORMATEX 615
C.4 DirectInput-Typen 616
C.4.1 DICONDITION 616
C.4.2 DICONSTANTFORCE 616
C.4.3 DIDATAFORMAT 616
C.4.4 DIDEVCAPS 616
C.4.5 DIDEVICEOBJECTDATA 617
C.4.6 DIEFFECT 617
C.4.7 DIENVELOPE 617
C.4.8 DIJOYSTATE 618
C.4.9 DIJOYSTATE2 618
C.4.10 DIKEYBOARDSTATE 619
C.4.11 DIMOUSESTATE 619
C.4.12 DIOBJECTDATAFORMAT 619
C.4.13 DIPERIODICFORCE 619
C.4.14 DIPROPLONG 619
C.4.15 DIPROPRANGE 620
C.4.16 DIRAMPFORCE 620
C.5 DirectPlay-Typen 620
C.5.1 DPAPPLICATIONDESC2 620
C.5.2 DPCAPS 620
C.5.3 DPCREDENTIALS 621
C.5.4 DPSECURITYDESC 621
Anhang D Glossar 623
D.1 Alpha Blending 624
D.2 Antialiasing 624
D.3 Bilineares Filtering 624
D.4 Bump Mapping 624
D.5 Clipping 624
D.6 Color Key 625
D.7 Direct3D 625
D.8 DirectX 625
D.9 Dithering 625
D.10 Double Buffer 625
D.11 Fenster / Full-Screen 626
D.12 Flat Shading / Gouraud Shading 626
D.13 Fogging 626
D.14 Hidden Surface Removal 626
D.15 Mipmapping 626
D.16 Overlay Planes 627
D.17 Perspektivenkorrektur 627
D.18 Polygon 627
D.19 Rendern 627
D.20 Shading 627
D.21 Specular Highlights 627
D.22 Texel 627
D.23 Texture Mapping 628
D.24 Textur 628
D.25 Trilineares Filtering 628
D.26 Wireframe 628
D.27 WRAM 628
D.28 Z-Buffer 628
Anhang E Das finden Sie auf der CD 629
E.1 DirectX-API 630
E.2 Magellan 3D 630
E.3 Beispielprogramme 630
E.3.1 DirectDraw 630
E.3.2 Direct3D 631
E.3.3 DirectSound 632
E.3.4 DirectInput 633
E.3.5 DirectPlay 634
Stichwortverzeichnis 635
1.1 DirectDraw-Grundlagen 22
1.1.1 Der Aufbau von DirectDraw 22
1.1.2 Cooperative Level 25
1.1.3 Display Mode 26
1.1.4 Colorkey 29
1.1.5 Surface 30
1.1.6 Palette 38
1.1.7 Clipper 39
1.1.8 Blitting 40
1.1.9 Page Flipping 41
1.2 Blitting 42
1.3 Sprites durch Transparenz 51
1.4 Fullscreen 65
1.5 Fullscreen und Spriteanimation 72
1.6 Hintergrund-Scrolling 75
1.7 Spritekollision 78
1.8 Bienenjagd 88
1.9 Methoden zum Zeichnen 93
Kapitel 2 Direct3D 101
2.1 3D-Koordinatensystem 104
2.2 3D-Primitives 105
2.3 Zeichnen eines Dreiecks 106
2.4 Dreieck-Raster-Regeln 118
2.5 World-, View- und Projection-Matrix 120
2.6 Matrix-Berechnungen 122
2.6.1 Translation 122
2.6.2 Rotation 123
2.6.3 Scaling 130
2.7 Polygone 132
2.8 Licht 137
2.8.1 Indirektes Licht (Ambientlight) 139
2.8.2 Direktes Licht 139
2.8.3 Licht, Schatten und Polygone 146
2.8.4 Licht aktivieren / deaktivieren 148
2.8.5 Beispiel (Licht) 151
2.9 Material 157
2.9.1 Setzen von Material 159
2.9.2 Beispiel (Material) 161
2.10 Texturen 165
2.10.1 Beispiel (Textur 1) 166
2.10.2 Textur-Koordinaten 170
2.10.3 Texture Filtering 184
2.10.4 Texture Blending 201
2.11 Z-Buffer (Tiefenspeicher) 212
2.12 Die SetRenderState()-Methode 218
2.13 Effekte 225
2.13.1 Nebel 225
2.13.2 Billboarding 236
2.13.3 Feuer und Explosionen 240
2.13.4 Antialiasing 246
Kapitel 3 DirectInput 253
3.1 Objekthierarchie 254
3.2 Cooperative Level 257
3.3 Datenformat 258
3.3.1 Standard-Datenformat 259
3.3.2 Benutzerdefiniertes Datenformat 259
3.4 Beispiel: Tastatur 260
3.5 Beispiel: Joystick 262
3.6 Beispiel: Maus 268
3.7 Beispiel: DirectInput und Direct3D 272
3.8 Bewegung im 3D-Raum 279
Kapitel 4 DirectSound 283
4.1 DirectSound-Architektur 285
4.2 Datenformat 285
4.3 HAL und HEL 286
4.4 Systemintegration 286
4.5 Initialisieren von DirectSound 287
4.6 Erstellen des DirectSound-Objektes 288
4.7 Buffer-Grundlagen 290
4.8 Primary Soundbuffer 291
4.9 Static und Streaming Soundbuffer 291
4.10 Erzeugen von Soundbuffern 292
4.11 Buffer-Einstellungen 294
4.12 Buffer Playback Controls 294
4.13 Ein einfaches Soundbeispiel 296
4.14 Der PlayCursor 299
4.15 Playbuffer-Benachrichtigungen 301
4.16 Direct3DSound 301
4.16.1 Grundlagen 302
4.16.2 Mono- und Stereo-Soundquellen 303
4.17 DirectSound3DBuffer 304
4.17.1 Parameter-Manipulation 305
4.17.2 Entfernungen 307
4.17.3 Auswählen von Schallquellen 308
4.17.4 Operation Mode 309
4.17.5 Position 310
4.17.6 Soundprojektion und -ausrichtung 311
4.17.7 Geschwindigkeit 314
4.18 DirectSound3DListener 315
4.18.1 Parameter-Manipulation 316
4.18.2 Verzögerungseinstellungen 317
4.18.3 Entfernungsfaktoren 317
4.18.4 Dopplerfaktoren 317
4.18.5 Auswahlmöglichkeiten 318
4.18.6 Ausrichtung 318
4.18.7 Position 320
4.18.8 Abschwächung 320
4.18.9 Geschwindigkeit 322
4.18.10 Beispiel (Klangquellen im 3D-Raum) 323
4.19 DirectSound Capture 328
4.19.1 Erstellen eines Capturebuffers 328
4.19.2 Erläuterung zur Aufnahme 330
Kapitel 5 DirectPlay 337
5.1 DirectPlay-Basis 341
5.2 Beispiel (Chatsystem) 352
5.3 Kommunikationsmodelle 355
5.3.1 Peer-to-Peer-Session 355
5.3.2 Client/Server-Session 356
5.4 Lobbies 357
5.5 Service Provider 358
5.6 Sicherheit 358
5.7 Nachrichten 359
5.7.1 Nachrichten empfangen 360
5.7.2 Synchronisation 363
5.8 DirectPlay-Adresse 363
5.9 DirectPlay-Protokoll 364
5.10 Session 365
5.11 Spieler 369
5.12 Bienenjagd Multiplayer Demo 372
Anhang A Methoden 377
A.1 Globale DirectX7-Methoden 378
A.2 DirectDraw-Methoden 390
A.2.1 DirectDraw7 390
A.2.2 DirectDrawClipper 400
A.2.3 DirectDrawColorControl 402
A.2.4 DirectDrawEnum 403
A.2.5 DirectDrawEnumModes 404
A.2.6 DirectDrawEnumSurfaces 405
A.2.7 DirectDrawGammaControl 406
A.2.8 DirectDrawIdentifier 406
A.2.9 DirectDrawPalette 409
A.2.10 DirectDrawSurface7 410
A.3 Direct3D-Methoden 430
A.3.1 Direct3D7 430
A.3.2 Direct3DDevice7 432
A.3.3 Direct3DEnumDevices 452
A.3.4 Direct3DEnumPixelFormats 453
A.3.5 Direct3DVertexBuffer7 454
A.4 DirectSound-Methoden 457
A.4.1 DirectSound 457
A.4.2 DirectSound3DBuffer 460
A.4.3 DirectSound3DListener 466
A.4.4 DirectSoundBuffer 472
A.4.5 DirectSoundCapture 478
A.4.6 DirectSoundCaptureBuffer 479
A.4.7 DirectSoundEnum 482
A.5 DirectInput 483
A.5.1 DirectInput 483
A.5.2 DirectInputDevice 484
A.5.3 DirectInputDeviceInstance 494
A.5.4 DirectInputDeviceObjectInstance 496
A.5.5 DirectInputEffect 499
A.5.6 DirectInputEnumDeviceObjects 501
A.5.7 DirectInputEnumDevices 502
A.5.8 DirectInputEnumEffects 503
A.6 DirectPlay-Methoden 505
A.6.1 DirectPlay4-Methoden 505
A.6.2 DirectPlayEnumConnections 524
A.6.3 DirectPlayEnumLocalApplications 526
A.6.4 DirectPlayEnumPlayers 527
A.6.5 DirectPlayEnumSessions 529
A.6.6 DirectPlayLobby3 530
A.6.7 DirectPlayLobbyConnection 537
A.6.8 DirectPlayMessage 540
A.6.9 DirectPlaySessionData 546
Anhang B Konstanten 553
B.1 DirectDraw Enum 554
B.2 Direct3DEnum 565
B.3 DirectSoundEnum 583
B.4 DirectInput Enum 588
B.5 DirectPlay Enum 595
Anhang C Typen 601
C.1 DirectDraw-Typen 602
C.1.1 DDBLTFX 602
C.1.2 DDCAPS 602
C.1.3 DDCOLORCONTROL 604
C.1.4 DDCOLORKEY 604
C.1.5 DDGAMMARAMP 604
C.1.6 DDOVERLAYFX 604
C.1.7 DDPIXELFORMAT 605
C.1.8 DDSCAPS2 605
C.1.9 DDSURFACEDESC2 606
C.1.10 PALETTEENTRY 606
C.1.11 RECT 606
C.2 Direct3D-Typen 607
C.2.1 D3DCLIPSTATUS 607
C.2.2 D3DCOLORVALUE 607
C.2.3 D3DDEVICEDESC7 607
C.2.4 D3DDEVINFO_TEXTUREMANAGER 608
C.2.5 D3DDEVINFO_TEXTURING 608
C.2.6 D3DLIGHT7 609
C.2.7 D3DLIGHTINGCAPS 609
C.2.8 D3DLINEPATTERN 609
C.2.9 D3DLVERTEX 609
C.2.10 D3DMATERIAL7 610
C.2.11 D3DMATRIX 610
C.2.12 D3DPRIMCAPS 610
C.2.13 D3DRECT 611
C.2.14 D3DTLVERTEX 611
C.2.15 D3DVECTOR 611
C.2.16 D3DVERTEX 611
C.2.17 D3DVERTEXBUFFERDESC 612
C.2.18 D3DVIEWPORT7 612
C.2.19 DXDRIVERINFO 612
C.3 DirectSound-Typen 612
C.3.1 DS3DBUFFER 612
C.3.2 DS3DLISTENER 613
C.3.3 DSBCAPS 613
C.3.4 DSBPOSITIONNOTIFY 613
C.3.5 DSBUFFERDESC 613
C.3.6 DSCAPS 614
C.3.7 DSCBCAPS 614
C.3.8 DSCBUFFERDESC 615
C.3.9 DSCCAPS 615
C.3.10 DSCURSORS 615
C.3.11 DXDRIVERINFO 615
C.3.12 WAVEFORMATEX 615
C.4 DirectInput-Typen 616
C.4.1 DICONDITION 616
C.4.2 DICONSTANTFORCE 616
C.4.3 DIDATAFORMAT 616
C.4.4 DIDEVCAPS 616
C.4.5 DIDEVICEOBJECTDATA 617
C.4.6 DIEFFECT 617
C.4.7 DIENVELOPE 617
C.4.8 DIJOYSTATE 618
C.4.9 DIJOYSTATE2 618
C.4.10 DIKEYBOARDSTATE 619
C.4.11 DIMOUSESTATE 619
C.4.12 DIOBJECTDATAFORMAT 619
C.4.13 DIPERIODICFORCE 619
C.4.14 DIPROPLONG 619
C.4.15 DIPROPRANGE 620
C.4.16 DIRAMPFORCE 620
C.5 DirectPlay-Typen 620
C.5.1 DPAPPLICATIONDESC2 620
C.5.2 DPCAPS 620
C.5.3 DPCREDENTIALS 621
C.5.4 DPSECURITYDESC 621
Anhang D Glossar 623
D.1 Alpha Blending 624
D.2 Antialiasing 624
D.3 Bilineares Filtering 624
D.4 Bump Mapping 624
D.5 Clipping 624
D.6 Color Key 625
D.7 Direct3D 625
D.8 DirectX 625
D.9 Dithering 625
D.10 Double Buffer 625
D.11 Fenster / Full-Screen 626
D.12 Flat Shading / Gouraud Shading 626
D.13 Fogging 626
D.14 Hidden Surface Removal 626
D.15 Mipmapping 626
D.16 Overlay Planes 627
D.17 Perspektivenkorrektur 627
D.18 Polygon 627
D.19 Rendern 627
D.20 Shading 627
D.21 Specular Highlights 627
D.22 Texel 627
D.23 Texture Mapping 628
D.24 Textur 628
D.25 Trilineares Filtering 628
D.26 Wireframe 628
D.27 WRAM 628
D.28 Z-Buffer 628
Anhang E Das finden Sie auf der CD 629
E.1 DirectX-API 630
E.2 Magellan 3D 630
E.3 Beispielprogramme 630
E.3.1 DirectDraw 630
E.3.2 Direct3D 631
E.3.3 DirectSound 632
E.3.4 DirectInput 633
E.3.5 DirectPlay 634
Stichwortverzeichnis 635
Kapitel 1 DirectDraw 17
1.1 DirectDraw-Grundlagen 22
1.1.1 Der Aufbau von DirectDraw 22
1.1.2 Cooperative Level 25
1.1.3 Display Mode 26
1.1.4 Colorkey 29
1.1.5 Surface 30
1.1.6 Palette 38
1.1.7 Clipper 39
1.1.8 Blitting 40
1.1.9 Page Flipping 41
1.2 Blitting 42
1.3 Sprites durch Transparenz 51
1.4 Fullscreen 65
1.5 Fullscreen und Spriteanimation 72
1.6 Hintergrund-Scrolling 75
1.7 Spritekollision 78
1.8 Bienenjagd 88
1.9 Methoden zum Zeichnen 93
Kapitel 2 Direct3D 101
2.1 3D-Koordinatensystem 104
2.2 3D-Primitives 105
2.3 Zeichnen eines Dreiecks 106
2.4 Dreieck-Raster-Regeln 118
2.5 World-, View- und Projection-Matrix 120
2.6 Matrix-Berechnungen 122
2.6.1 Translation 122
2.6.2 Rotation 123
2.6.3 Scaling 130
2.7 Polygone 132
2.8 Licht 137
2.8.1 Indirektes Licht (Ambientlight) 139
2.8.2 Direktes Licht 139
2.8.3 Licht, Schatten und Polygone 146
2.8.4 Licht aktivieren / deaktivieren 148
2.8.5 Beispiel (Licht) 151
2.9 Material 157
2.9.1 Setzen von Material 159
2.9.2 Beispiel (Material) 161
2.10 Texturen 165
2.10.1 Beispiel (Textur 1) 166
2.10.2 Textur-Koordinaten 170
2.10.3 Texture Filtering 184
2.10.4 Texture Blending 201
2.11 Z-Buffer (Tiefenspeicher) 212
2.12 Die SetRenderState()-Methode 218
2.13 Effekte 225
2.13.1 Nebel 225
2.13.2 Billboarding 236
2.13.3 Feuer und Explosionen 240
2.13.4 Antialiasing 246
Kapitel 3 DirectInput 253
3.1 Objekthierarchie 254
3.2 Cooperative Level 257
3.3 Datenformat 258
3.3.1 Standard-Datenformat 259
3.3.2 Benutzerdefiniertes Datenformat 259
3.4 Beispiel: Tastatur 260
3.5 Beispiel: Joystick 262
3.6 Beispiel: Maus 268
3.7 Beispiel: DirectInput und Direct3D 272
3.8 Bewegung im 3D-Raum 279
Kapitel 4 DirectSound 283
4.1 DirectSound-Architektur 285
4.2 Datenformat 285
4.3 HAL und HEL 286
4.4 Systemintegration 286
4.5 Initialisieren von DirectSound 287
4.6 Erstellen des DirectSound-Objektes 288
4.7 Buffer-Grundlagen 290
4.8 Primary Soundbuffer 291
4.9 Static und Streaming Soundbuffer 291
4.10 Erzeugen von Soundbuffern 292
4.11 Buffer-Einstellungen 294
4.12 Buffer Playback Controls 294
4.13 Ein einfaches Soundbeispiel 296
4.14 Der PlayCursor 299
4.15 Playbuffer-Benachrichtigungen 301
4.16 Direct3DSound 301
4.16.1 Grundlagen 302
4.16.2 Mono- und Stereo-Soundquellen 303
4.17 DirectSound3DBuffer 304
4.17.1 Parameter-Manipulation 305
4.17.2 Entfernungen 307
4.17.3 Auswählen von Schallquellen 308
4.17.4 Operation Mode 309
4.17.5 Position 310
4.17.6 Soundprojektion und -ausrichtung 311
4.17.7 Geschwindigkeit 314
4.18 DirectSound3DListener 315
4.18.1 Parameter-Manipulation 316
4.18.2 Verzögerungseinstellungen 317
4.18.3 Entfernungsfaktoren 317
4.18.4 Dopplerfaktoren 317
4.18.5 Auswahlmöglichkeiten 318
4.18.6 Ausrichtung 318
4.18.7 Position 320
4.18.8 Abschwächung 320
4.18.9 Geschwindigkeit 322
4.18.10 Beispiel (Klangquellen im 3D-Raum) 323
4.19 DirectSound Capture 328
4.19.1 Erstellen eines Capturebuffers 328
4.19.2 Erläuterung zur Aufnahme 330
Kapitel 5 DirectPlay 337
5.1 DirectPlay-Basis 341
5.2 Beispiel (Chatsystem) 352
5.3 Kommunikationsmodelle 355
5.3.1 Peer-to-Peer-Session 355
5.3.2 Client/Server-Session 356
5.4 Lobbies 357
5.5 Service Provider 358
5.6 Sicherheit 358
5.7 Nachrichten 359
5.7.1 Nachrichten empfangen 360
5.7.2 Synchronisation 363
5.8 DirectPlay-Adresse 363
5.9 DirectPlay-Protokoll 364
5.10 Session 365
5.11 Spieler 369
5.12 Bienenjagd Multiplayer Demo 372
Anhang A Methoden 377
A.1 Globale DirectX7-Methoden 378
A.2 DirectDraw-Methoden 390
A.2.1 DirectDraw7 390
A.2.2 DirectDrawClipper 400
A.2.3 DirectDrawColorControl 402
A.2.4 DirectDrawEnum 403
A.2.5 DirectDrawEnumModes 404
A.2.6 DirectDrawEnumSurfaces 405
A.2.7 DirectDrawGammaControl 406
A.2.8 DirectDrawIdentifier 406
A.2.9 DirectDrawPalette 409
A.2.10 DirectDrawSurface7 410
A.3 Direct3D-Methoden 430
A.3.1 Direct3D7 430
A.3.2 Direct3DDevice7 432
A.3.3 Direct3DEnumDevices 452
A.3.4 Direct3DEnumPixelFormats 453
A.3.5 Direct3DVertexBuffer7 454
A.4 DirectSound-Methoden 457
A.4.1 DirectSound 457
A.4.2 DirectSound3DBuffer 460
A.4.3 DirectSound3DListener 466
A.4.4 DirectSoundBuffer 472
A.4.5 DirectSoundCapture 478
A.4.6 DirectSoundCaptureBuffer 479
A.4.7 DirectSoundEnum 482
A.5 DirectInput 483
A.5.1 DirectInput 483
A.5.2 DirectInputDevice 484
A.5.3 DirectInputDeviceInstance 494
A.5.4 DirectInputDeviceObjectInstance 496
A.5.5 DirectInputEffect 499
A.5.6 DirectInputEnumDeviceObjects 501
A.5.7 DirectInputEnumDevices 502
A.5.8 DirectInputEnumEffects 503
A.6 DirectPlay-Methoden 505
A.6.1 DirectPlay4-Methoden 505
A.6.2 DirectPlayEnumConnections 524
A.6.3 DirectPlayEnumLocalApplications 526
A.6.4 DirectPlayEnumPlayers 527
A.6.5 DirectPlayEnumSessions 529
A.6.6 DirectPlayLobby3 530
A.6.7 DirectPlayLobbyConnection 537
A.6.8 DirectPlayMessage 540
A.6.9 DirectPlaySessionData 546
Anhang B Konstanten 553
B.1 DirectDraw Enum 554
B.2 Direct3DEnum 565
B.3 DirectSoundEnum 583
B.4 DirectInput Enum 588
B.5 DirectPlay Enum 595
Anhang C Typen 601
C.1 DirectDraw-Typen 602
C.1.1 DDBLTFX 602
C.1.2 DDCAPS 602
C.1.3 DDCOLORCONTROL 604
C.1.4 DDCOLORKEY 604
C.1.5 DDGAMMARAMP 604
C.1.6 DDOVERLAYFX 604
C.1.7 DDPIXELFORMAT 605
C.1.8 DDSCAPS2 605
C.1.9 DDSURFACEDESC2 606
C.1.10 PALETTEENTRY 606
C.1.11 RECT 606
C.2 Direct3D-Typen 607
C.2.1 D3DCLIPSTATUS 607
C.2.2 D3DCOLORVALUE 607
C.2.3 D3DDEVICEDESC7 607
C.2.4 D3DDEVINFO_TEXTUREMANAGER 608
C.2.5 D3DDEVINFO_TEXTURING 608
C.2.6 D3DLIGHT7 609
C.2.7 D3DLIGHTINGCAPS 609
C.2.8 D3DLINEPATTERN 609
C.2.9 D3DLVERTEX 609
C.2.10 D3DMATERIAL7 610
C.2.11 D3DMATRIX 610
C.2.12 D3DPRIMCAPS 610
C.2.13 D3DRECT 611
C.2.14 D3DTLVERTEX 611
C.2.15 D3DVECTOR 611
C.2.16 D3DVERTEX 611
C.2.17 D3DVERTEXBUFFERDESC 612
C.2.18 D3DVIEWPORT7 612
C.2.19 DXDRIVERINFO 612
C.3 DirectSound-Typen 612
C.3.1 DS3DBUFFER 612
C.3.2 DS3DLISTENER 613
C.3.3 DSBCAPS 613
C.3.4 DSBPOSITIONNOTIFY 613
C.3.5 DSBUFFERDESC 613
C.3.6 DSCAPS 614
C.3.7 DSCBCAPS 614
C.3.8 DSCBUFFERDESC 615
C.3.9 DSCCAPS 615
C.3.10 DSCURSORS 615
C.3.11 DXDRIVERINFO 615
C.3.12 WAVEFORMATEX 615
C.4 DirectInput-Typen 616
C.4.1 DICONDITION 616
C.4.2 DICONSTANTFORCE 616
C.4.3 DIDATAFORMAT 616
C.4.4 DIDEVCAPS 616
C.4.5 DIDEVICEOBJECTDATA 617
C.4.6 DIEFFECT 617
C.4.7 DIENVELOPE 617
C.4.8 DIJOYSTATE 618
C.4.9 DIJOYSTATE2 618
C.4.10 DIKEYBOARDSTATE 619
C.4.11 DIMOUSESTATE 619
C.4.12 DIOBJECTDATAFORMAT 619
C.4.13 DIPERIODICFORCE 619
C.4.14 DIPROPLONG 619
C.4.15 DIPROPRANGE 620
C.4.16 DIRAMPFORCE 620
C.5 DirectPlay-Typen 620
C.5.1 DPAPPLICATIONDESC2 620
C.5.2 DPCAPS 620
C.5.3 DPCREDENTIALS 621
C.5.4 DPSECURITYDESC 621
Anhang D Glossar 623
D.1 Alpha Blending 624
D.2 Antialiasing 624
D.3 Bilineares Filtering 624
D.4 Bump Mapping 624
D.5 Clipping 624
D.6 Color Key 625
D.7 Direct3D 625
D.8 DirectX 625
D.9 Dithering 625
D.10 Double Buffer 625
D.11 Fenster / Full-Screen 626
D.12 Flat Shading / Gouraud Shading 626
D.13 Fogging 626
D.14 Hidden Surface Removal 626
D.15 Mipmapping 626
D.16 Overlay Planes 627
D.17 Perspektivenkorrektur 627
D.18 Polygon 627
D.19 Rendern 627
D.20 Shading 627
D.21 Specular Highlights 627
D.22 Texel 627
D.23 Texture Mapping 628
D.24 Textur 628
D.25 Trilineares Filtering 628
D.26 Wireframe 628
D.27 WRAM 628
D.28 Z-Buffer 628
Anhang E Das finden Sie auf der CD 629
E.1 DirectX-API 630
E.2 Magellan 3D 630
E.3 Beispielprogramme 630
E.3.1 DirectDraw 630
E.3.2 Direct3D 631
E.3.3 DirectSound 632
E.3.4 DirectInput 633
E.3.5 DirectPlay 634
Stichwortverzeichnis 635
1.1 DirectDraw-Grundlagen 22
1.1.1 Der Aufbau von DirectDraw 22
1.1.2 Cooperative Level 25
1.1.3 Display Mode 26
1.1.4 Colorkey 29
1.1.5 Surface 30
1.1.6 Palette 38
1.1.7 Clipper 39
1.1.8 Blitting 40
1.1.9 Page Flipping 41
1.2 Blitting 42
1.3 Sprites durch Transparenz 51
1.4 Fullscreen 65
1.5 Fullscreen und Spriteanimation 72
1.6 Hintergrund-Scrolling 75
1.7 Spritekollision 78
1.8 Bienenjagd 88
1.9 Methoden zum Zeichnen 93
Kapitel 2 Direct3D 101
2.1 3D-Koordinatensystem 104
2.2 3D-Primitives 105
2.3 Zeichnen eines Dreiecks 106
2.4 Dreieck-Raster-Regeln 118
2.5 World-, View- und Projection-Matrix 120
2.6 Matrix-Berechnungen 122
2.6.1 Translation 122
2.6.2 Rotation 123
2.6.3 Scaling 130
2.7 Polygone 132
2.8 Licht 137
2.8.1 Indirektes Licht (Ambientlight) 139
2.8.2 Direktes Licht 139
2.8.3 Licht, Schatten und Polygone 146
2.8.4 Licht aktivieren / deaktivieren 148
2.8.5 Beispiel (Licht) 151
2.9 Material 157
2.9.1 Setzen von Material 159
2.9.2 Beispiel (Material) 161
2.10 Texturen 165
2.10.1 Beispiel (Textur 1) 166
2.10.2 Textur-Koordinaten 170
2.10.3 Texture Filtering 184
2.10.4 Texture Blending 201
2.11 Z-Buffer (Tiefenspeicher) 212
2.12 Die SetRenderState()-Methode 218
2.13 Effekte 225
2.13.1 Nebel 225
2.13.2 Billboarding 236
2.13.3 Feuer und Explosionen 240
2.13.4 Antialiasing 246
Kapitel 3 DirectInput 253
3.1 Objekthierarchie 254
3.2 Cooperative Level 257
3.3 Datenformat 258
3.3.1 Standard-Datenformat 259
3.3.2 Benutzerdefiniertes Datenformat 259
3.4 Beispiel: Tastatur 260
3.5 Beispiel: Joystick 262
3.6 Beispiel: Maus 268
3.7 Beispiel: DirectInput und Direct3D 272
3.8 Bewegung im 3D-Raum 279
Kapitel 4 DirectSound 283
4.1 DirectSound-Architektur 285
4.2 Datenformat 285
4.3 HAL und HEL 286
4.4 Systemintegration 286
4.5 Initialisieren von DirectSound 287
4.6 Erstellen des DirectSound-Objektes 288
4.7 Buffer-Grundlagen 290
4.8 Primary Soundbuffer 291
4.9 Static und Streaming Soundbuffer 291
4.10 Erzeugen von Soundbuffern 292
4.11 Buffer-Einstellungen 294
4.12 Buffer Playback Controls 294
4.13 Ein einfaches Soundbeispiel 296
4.14 Der PlayCursor 299
4.15 Playbuffer-Benachrichtigungen 301
4.16 Direct3DSound 301
4.16.1 Grundlagen 302
4.16.2 Mono- und Stereo-Soundquellen 303
4.17 DirectSound3DBuffer 304
4.17.1 Parameter-Manipulation 305
4.17.2 Entfernungen 307
4.17.3 Auswählen von Schallquellen 308
4.17.4 Operation Mode 309
4.17.5 Position 310
4.17.6 Soundprojektion und -ausrichtung 311
4.17.7 Geschwindigkeit 314
4.18 DirectSound3DListener 315
4.18.1 Parameter-Manipulation 316
4.18.2 Verzögerungseinstellungen 317
4.18.3 Entfernungsfaktoren 317
4.18.4 Dopplerfaktoren 317
4.18.5 Auswahlmöglichkeiten 318
4.18.6 Ausrichtung 318
4.18.7 Position 320
4.18.8 Abschwächung 320
4.18.9 Geschwindigkeit 322
4.18.10 Beispiel (Klangquellen im 3D-Raum) 323
4.19 DirectSound Capture 328
4.19.1 Erstellen eines Capturebuffers 328
4.19.2 Erläuterung zur Aufnahme 330
Kapitel 5 DirectPlay 337
5.1 DirectPlay-Basis 341
5.2 Beispiel (Chatsystem) 352
5.3 Kommunikationsmodelle 355
5.3.1 Peer-to-Peer-Session 355
5.3.2 Client/Server-Session 356
5.4 Lobbies 357
5.5 Service Provider 358
5.6 Sicherheit 358
5.7 Nachrichten 359
5.7.1 Nachrichten empfangen 360
5.7.2 Synchronisation 363
5.8 DirectPlay-Adresse 363
5.9 DirectPlay-Protokoll 364
5.10 Session 365
5.11 Spieler 369
5.12 Bienenjagd Multiplayer Demo 372
Anhang A Methoden 377
A.1 Globale DirectX7-Methoden 378
A.2 DirectDraw-Methoden 390
A.2.1 DirectDraw7 390
A.2.2 DirectDrawClipper 400
A.2.3 DirectDrawColorControl 402
A.2.4 DirectDrawEnum 403
A.2.5 DirectDrawEnumModes 404
A.2.6 DirectDrawEnumSurfaces 405
A.2.7 DirectDrawGammaControl 406
A.2.8 DirectDrawIdentifier 406
A.2.9 DirectDrawPalette 409
A.2.10 DirectDrawSurface7 410
A.3 Direct3D-Methoden 430
A.3.1 Direct3D7 430
A.3.2 Direct3DDevice7 432
A.3.3 Direct3DEnumDevices 452
A.3.4 Direct3DEnumPixelFormats 453
A.3.5 Direct3DVertexBuffer7 454
A.4 DirectSound-Methoden 457
A.4.1 DirectSound 457
A.4.2 DirectSound3DBuffer 460
A.4.3 DirectSound3DListener 466
A.4.4 DirectSoundBuffer 472
A.4.5 DirectSoundCapture 478
A.4.6 DirectSoundCaptureBuffer 479
A.4.7 DirectSoundEnum 482
A.5 DirectInput 483
A.5.1 DirectInput 483
A.5.2 DirectInputDevice 484
A.5.3 DirectInputDeviceInstance 494
A.5.4 DirectInputDeviceObjectInstance 496
A.5.5 DirectInputEffect 499
A.5.6 DirectInputEnumDeviceObjects 501
A.5.7 DirectInputEnumDevices 502
A.5.8 DirectInputEnumEffects 503
A.6 DirectPlay-Methoden 505
A.6.1 DirectPlay4-Methoden 505
A.6.2 DirectPlayEnumConnections 524
A.6.3 DirectPlayEnumLocalApplications 526
A.6.4 DirectPlayEnumPlayers 527
A.6.5 DirectPlayEnumSessions 529
A.6.6 DirectPlayLobby3 530
A.6.7 DirectPlayLobbyConnection 537
A.6.8 DirectPlayMessage 540
A.6.9 DirectPlaySessionData 546
Anhang B Konstanten 553
B.1 DirectDraw Enum 554
B.2 Direct3DEnum 565
B.3 DirectSoundEnum 583
B.4 DirectInput Enum 588
B.5 DirectPlay Enum 595
Anhang C Typen 601
C.1 DirectDraw-Typen 602
C.1.1 DDBLTFX 602
C.1.2 DDCAPS 602
C.1.3 DDCOLORCONTROL 604
C.1.4 DDCOLORKEY 604
C.1.5 DDGAMMARAMP 604
C.1.6 DDOVERLAYFX 604
C.1.7 DDPIXELFORMAT 605
C.1.8 DDSCAPS2 605
C.1.9 DDSURFACEDESC2 606
C.1.10 PALETTEENTRY 606
C.1.11 RECT 606
C.2 Direct3D-Typen 607
C.2.1 D3DCLIPSTATUS 607
C.2.2 D3DCOLORVALUE 607
C.2.3 D3DDEVICEDESC7 607
C.2.4 D3DDEVINFO_TEXTUREMANAGER 608
C.2.5 D3DDEVINFO_TEXTURING 608
C.2.6 D3DLIGHT7 609
C.2.7 D3DLIGHTINGCAPS 609
C.2.8 D3DLINEPATTERN 609
C.2.9 D3DLVERTEX 609
C.2.10 D3DMATERIAL7 610
C.2.11 D3DMATRIX 610
C.2.12 D3DPRIMCAPS 610
C.2.13 D3DRECT 611
C.2.14 D3DTLVERTEX 611
C.2.15 D3DVECTOR 611
C.2.16 D3DVERTEX 611
C.2.17 D3DVERTEXBUFFERDESC 612
C.2.18 D3DVIEWPORT7 612
C.2.19 DXDRIVERINFO 612
C.3 DirectSound-Typen 612
C.3.1 DS3DBUFFER 612
C.3.2 DS3DLISTENER 613
C.3.3 DSBCAPS 613
C.3.4 DSBPOSITIONNOTIFY 613
C.3.5 DSBUFFERDESC 613
C.3.6 DSCAPS 614
C.3.7 DSCBCAPS 614
C.3.8 DSCBUFFERDESC 615
C.3.9 DSCCAPS 615
C.3.10 DSCURSORS 615
C.3.11 DXDRIVERINFO 615
C.3.12 WAVEFORMATEX 615
C.4 DirectInput-Typen 616
C.4.1 DICONDITION 616
C.4.2 DICONSTANTFORCE 616
C.4.3 DIDATAFORMAT 616
C.4.4 DIDEVCAPS 616
C.4.5 DIDEVICEOBJECTDATA 617
C.4.6 DIEFFECT 617
C.4.7 DIENVELOPE 617
C.4.8 DIJOYSTATE 618
C.4.9 DIJOYSTATE2 618
C.4.10 DIKEYBOARDSTATE 619
C.4.11 DIMOUSESTATE 619
C.4.12 DIOBJECTDATAFORMAT 619
C.4.13 DIPERIODICFORCE 619
C.4.14 DIPROPLONG 619
C.4.15 DIPROPRANGE 620
C.4.16 DIRAMPFORCE 620
C.5 DirectPlay-Typen 620
C.5.1 DPAPPLICATIONDESC2 620
C.5.2 DPCAPS 620
C.5.3 DPCREDENTIALS 621
C.5.4 DPSECURITYDESC 621
Anhang D Glossar 623
D.1 Alpha Blending 624
D.2 Antialiasing 624
D.3 Bilineares Filtering 624
D.4 Bump Mapping 624
D.5 Clipping 624
D.6 Color Key 625
D.7 Direct3D 625
D.8 DirectX 625
D.9 Dithering 625
D.10 Double Buffer 625
D.11 Fenster / Full-Screen 626
D.12 Flat Shading / Gouraud Shading 626
D.13 Fogging 626
D.14 Hidden Surface Removal 626
D.15 Mipmapping 626
D.16 Overlay Planes 627
D.17 Perspektivenkorrektur 627
D.18 Polygon 627
D.19 Rendern 627
D.20 Shading 627
D.21 Specular Highlights 627
D.22 Texel 627
D.23 Texture Mapping 628
D.24 Textur 628
D.25 Trilineares Filtering 628
D.26 Wireframe 628
D.27 WRAM 628
D.28 Z-Buffer 628
Anhang E Das finden Sie auf der CD 629
E.1 DirectX-API 630
E.2 Magellan 3D 630
E.3 Beispielprogramme 630
E.3.1 DirectDraw 630
E.3.2 Direct3D 631
E.3.3 DirectSound 632
E.3.4 DirectInput 633
E.3.5 DirectPlay 634
Stichwortverzeichnis 635