Начать новую тему Ответить на тему
Статистика раздачи
Размер: 2.8 МБ | | Скачали: 8
Сидеров: 0  [0 байт/сек]    Личеров: 1  [0 байт/сек]
Пред. тема | След. тема 

Автор
Сообщение

Ответить с цитатой 

Beginning DirectX 11 Game Programming

Год: 2011
Автор: Allen Sherrod and Wendy Jones / Аллен Шеррод и Венди Джонс
Жанр: программирование
Издательство: Course Technology, a part of Cengage Learning
ISBN: ISBN-13: 978-1-4354-5895-6
Язык: Английский
Формат: PDF
Качество: Изначально компьютерное (eBook)
Количество страниц: 385

Описание: This book is the follow-up edition to Wendy Jones’s Beginning DirectX 10 Game Programming book. In this book, we teach you the basics of getting started with game graphics using the latest iteration of Direct3D: Direct3D 11.

The goal of this book is to teach you the various aspects of DirectX 11. The target audience for this text is beginning/intermediate C++ programmers with little to no experience with DirectX. Although past DirectX or OpenGL experience can be useful, it is not required.

When you reach the end of this book, you will have had enough experience with DirectX 11 that you should be able to explore making simple video games and demos. Ideally, you will work your way up to make complex games and demos until you find yourself able to complete and release (even if for free at first) your own PC games.

Recommended Knowledge

This book assumes you have knowledge and familiarity of the C++ programming language. You are also assumed to have a comfortable working knowledge of Visual Studio 2010 and have completed at least a high-school level of mathematics. Since this book is centered on learning DirectX for the first time, knowing DirectX is, of course, not required for working through this book.

Throughout this book we use Visual Studio C++ 2010 Express, which can be downloaded from Microsoft’s website at www.microsoft.com/express/Downloads. We are also using the June 2010 DirectX SDK, which can be downloaded from http://msdn.microsoft.com/en-us/directx.

Although not required for this book, it is recommended to try Adobe Photoshopfor the creation of textures (www.adobe.com/products/photoshop/photoshopextended/) and XSI Mod Tool 7.5 for the creation of 3D models and meshes (http://usa.autodesk.com).
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Chapter 1 The What, Why, and How of DirectX . . . . . . . . . . . . . . . . 1
What Is DirectX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
DirectX 10 versus DirectX 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
DirectX 11 versus DirectX 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
DirectX 11 versus OpenGL 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Why Is DirectX Needed? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
How DirectX Is Put Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
The Components of DirectX 11 . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Obsolete DirectX Components . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Introducing Direct3D 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Stages of Direct3D 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Direct3D 11 Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
DirectX Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Sample Browser and Documentation . . . . . . . . . . . . . . . . . . . . . 16
PIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Caps Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Diagnostic Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Texture Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Error Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Cross-Platform Audio Creation Tool . . . . . . . . . . . . . . . . . . . . . . 20
Game Definition File Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Down-Level Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Chapter 2 Your First DirectX Program . . . . . . . . . . . . . . . . . . . . . . . 27
Creating the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Adding Windows Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
The Main Entry Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Windows Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Windows Callback Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Time for Direct3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Adding the DirectX Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Initializing Direct3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Driver Types and Features Levels . . . . . . . . . . . . . . . . . . . . . . . . 47
Device and Swap Chain Creation . . . . . . . . . . . . . . . . . . . . . . . . 49
Render Target View Creation . . . . . . . . . . . . . . . . . . . . . . . . . . 53
The Viewport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Clearing and Displaying the Screen . . . . . . . . . . . . . . . . . . . . . . 56
Cleaning Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
The Blank D3D Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Design of the Template Framework . . . . . . . . . . . . . . . . . . . . . . 60
The Direct3D Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
The Blank Window Demo Class . . . . . . . . . . . . . . . . . . . . . . . . . 67
Updating the Application Loop . . . . . . . . . . . . . . . . . . . . . . . . . 70
DirectX Error Handling Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Error Handling Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Error Handling Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Chapter 3 2D Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2D Game Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2D Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
What Is a Vertex? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Definition of a Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Vertex Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Input Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Drawing a 2D Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2D Triangle Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Loading the Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Rendering the Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Texture Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Texture Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
MIP Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Texture Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Texture Mapping Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Z-Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Sprite Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Getting Sprites to the Screen . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Positioning and Scaling Sprites . . . . . . . . . . . . . . . . . . . . . . . . 139
The Game Sprite Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Creating and Rendering the Game Sprite . . . . . . . . . . . . . . . . 143
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Chapter 4 Text and Font Rendering . . . . . . . . . . . . . . . . . . . . . . . . 155
Text in Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Adding Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Textured Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
A Font System Explained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Creating a Font System Using Sprites . . . . . . . . . . . . . . . . . . . . . . 161
Advanced Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
In-Game Text Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
In-Game Console Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Game Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Heads-Up Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Chapter 5 Input Detection and Response . . . . . . . . . . . . . . . . . . . . 177
I Need Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Input Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Keyboard Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Win32 Keyboard Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
DirectInput Keyboard Input . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
DirectInput Keyboard Demo . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Mouse Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
DirectInput Mouse Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
XInput—Game Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Setting Up XInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Controller Vibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
XInput for Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Controller Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Battery Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Keystrokes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Headset Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
XInput Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Chapter 6 3D Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
XNA Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Vector Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Distance Between Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Determining the Length of a Vector . . . . . . . . . . . . . . . . . . . . 235
Normalize a Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Cross Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Dot Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
3D Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
World Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242View Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Projection Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Transforming an Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
The Identity Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Matrix Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Matrix Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Matrix Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Matrix Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Cube Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Additional XNA Math Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Compiler Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Structures and Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Additional Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Additional Math Structures and Topics . . . . . . . . . . . . . . . . . . . . . 283
Game Physics and Collision Detection . . . . . . . . . . . . . . . . . . . 283
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Chapter 7 Shaders and Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Shaders in Direct3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
History of Programmable Shaders . . . . . . . . . . . . . . . . . . . . . . 288
Effect Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Effect File Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Loading an Effect File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
External Variables and Constant Buffers . . . . . . . . . . . . . . . . . 292
Input and Output Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Technique Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Rasterizer States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
High Level Shading Language . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Variable Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Function Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Vertex Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Contents ixPixel Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Texture Color Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Color Shifting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Multitexturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Geometry Shaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Geometry Shader Function Declaration . . . . . . . . . . . . . . . . . . 316
The Geometry Shader Explained . . . . . . . . . . . . . . . . . . . . . . . 316
Introduction to Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Chapter 8 Cameras and Models in Direct3D . . . . . . . . . . . . . . . . . . 327
Cameras in Direct3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Look-At Camera Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Arc-Ball Camera Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Meshes and Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
The OBJ File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Reading Tokens from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Loading Meshes from OBJ Files . . . . . . . . . . . . . . . . . . . . . . . . 349
Advanced Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Complex Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
3D Level Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Chapter Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Правила, инструкции, FAQ!!!
Торрент   Скачать торрент Магнет ссылка
Скачать торрент
[ Размер 4 КБ / Просмотров 100 ]

Статус
Проверен 
 
Размер  2.8 МБ
Приватный: Нет (DHT включён)
.torrent скачан  8
Как залить торрент? | Как скачать Torrent? | Ошибка в торренте? Качайте магнет  


     Отправить личное сообщение
   
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему


Сейчас эту тему просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Ресурс не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!