- 博客(0)
- 资源 (25)
- 收藏
- 关注
Introduction to 3D Game Programming with DirectX 10(英文版)
This book was designed with the following three audiences in mind:
Intermediate level C++ programmers who would like an introduction
to 3D programming using the latest iteration of Direct3D.
3D programmers experienced with an API other than DirectX (e.g.,
OpenGL) who would like an introduction to Direct3D 10.
Experienced Direct3D 9 programmers wishing to learn the latest
iteration of Direct3D.
2012-10-28
The C++ Standard Library - A Tutorial and Reference
C++ Standard Library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components-and to benefit from their power-you need a resource that does far more than list the classes and their functions.
The C++ Standard Library not only provides comprehensive documentation of each library component, it also offers clearly written explanations of complex concepts, describes the practical programming details needed for effective use, and gives example after example of working code.
This thoroughly up-to-date book reflects the newest elements of the C++ standard library incorporated into the full ANSI/ISO C++ language standard. In particular, the text focuses on the Standard Template Library (STL), examining containers, iterators, function objects, and STL algorithms. You will also find detailed coverage of special containers, strings, numerical classes, internationalization, and the IOStream library. Each component is presented in depth, with an introduction to its purpose and design, examples, a
c++ 程序员必备
detailed description, traps and pitfalls, and the exact signature and definition of its classes and their functions. An insightful introduction to fundamental concepts and an overview of the library will help bring newcomers quickly up to speed.
Comprehensive, detailed, readable, and practical, The C++ Standard Library is the C++ resource you will turn to again and again.
2010-10-23
D3D render pipeline
This book describes the Direct3D graphics pipeline, from presentation of scene
data to pixels appearing on the screen. The book is organized sequentially
following the data °ow through the pipeline from the application to the image
displayed on the monitor. Each major section of the pipeline is treated by a
part of the book, with chapters and subsections detailing each discrete stage of
the pipeline. This section summarizes the contents of the book.
Part I begins with a review of basic concepts used in 3D computer graphics
and their representations in Direct3D. The IDirect3D9 interface is introduced
and device selection is described. The IDirect3DDevice9 interface is introduced
and an overview of device methods and internal state is given. Finally, a basic
framework is given for a 2D application.
Chapter 1 begins with an overview of the entire book. A review is given
of display technology and the important concept of gamma correction. The
representation of color in Direct3D and the macros for manipulating color values
are described. The relevant mathematics of vectors, geometry and matrices are
reviewed and summarized. A summary of COM and the IUnknown interface is COM: Component Object
Model
given. Finally, the coding style conventions followed in this book are presented
along with some useful C++ coding techniques.
Chapter 2 describes the Direct3D object. Every application instantiates
this object to select a device from those available. Available devices advertise
their location in the Win32 virtual desktop and their capabilities to applications
34 CHAPTER 1. INTRODUCTION
through the Direct3D object. Selecting a device from those available and exam-
ining a device's capabilities are described. Multiple monitor considerations are
also discussed.
Chapter 3 describes the Direct3D device object which provides access to
the rendering pipeline. The device is the interface an application will use most
often and it has a large amount of internal state that controls every stage of the
rendering pipeline. This chapter provides a high-level overview of the device
and its associated internal state. Detailed discussion of the device state appears
throughout the rest of the book.
Chapter 4 describes the basic architecture of a typical Direct3D application.
Every 3D application can use 2D operations for manipulating frame bu®er con-
tents directly. An application can run in full-screen or windowed modes and the
di®erences are presented here. The handling of Windows messages and a ba-
sic display processing loop are presented. At times it may be convenient to use
GDI in a Direct3D application window and a method for mixing these two Win-
dows subsystems is presented. Almost every full-screen application will want to
use the cursor management provided by the device. Device color palettes and
methods for gamma correction are presented.
Part II describes the geometry processing portion of the graphics pipeline.
The application delivers scene data to the pipeline in the form of geometric
primitives. The pipeline processes the geometric primitives through a series of
stages that results in pixels displayed on the monitor. This part describes the
start of the pipeline where the processing of geometry takes place.
Chapter 5 describes how to construct a scene representing the digital world
that is imaged by the imaginary camera of the device. A scene consists of a
collection of models drawn in sequence. Models are composed of a collection of
graphic primitives. Graphic primitives are composed from streams of vertex and
index data de¯ning the shape and appearance of objects in the scene. Vertices
and indices are stored in resources created through the device.
Chapter 6 covers vertex transformations, vertex blending and user-de¯ned
clipping planes. With transformations, primitives can be positioned relative to
each other in space. Vertex blending, also called \skinning", allows for smooth
mesh interpolation. User-de¯ned clipping planes can be used to provide cut
away views of primitives.
Chapter 7 covers viewing with a virtual camera and projection onto the
viewing plane which is displayed as pixels on the monitor. After modeling,
objects are positioned relative to a camera. Objects are then projected from 3D
camera space into the viewing plane for conversion into 2D screen pixels.
Chapter 8 describes the lighting of geometric primitives. The lighting model
is introduced and the supported shading algorithms and light types are de-
scribed.
Chapter 9 covers programmable vertex shading. Programmable vertex shaders
can process the vertex data streams with custom code, producing a single ver-
tex that is used for rasterization. The vertex shading machine architecture and
instruction set are presented.
Part III covers the rasterization portion of the pipeline where geometry is1.1. OVERVIEW 5
converted to a series of pixels for display on the monitor. Geometric primitives
are lit based on the lighting of their environment and their material properties.
After light has been applied to a primitive, it is scan converted into pixels
for processing into the frame bu®er. Textures can be used to provide detailed
surface appearance without extensive geometric modeling. Pixel shaders can
be used to provide custom per-pixel appearance processing instead of the ¯xed-
function pixel processing provided by the stock pipeline. Finally, the pixels
generated from the scan conversion process are incorporated into the render
target surface by the frame bu®er.
Chapter 10 describes the scanline conversion of primitives into pixel frag-
ments. Lighting and shading are used to process vertex positions and their
associated data into a series of pixel fragments to be processed by the frame
bu®er.
Chapter 11 describes textures and volumes. Textures provide many e±cient
per-pixel e®ects and can be used in a variety of manners. Volumes extend
texture images to three dimensions and can be used for a volumetric per-pixel
rendering e®ects.
Chapter 13 describes programmable pixel shaders. Programmable pixel
shaders combine texture map information and interpolated vertex information
to produce a source pixel fragment. The pixel shading machine architecture and
instruction set are presented.
Chapter 14 describes how fragments are processed into the frame bu®er.
After pixel shading, fragments are processed by the fog, alpha test, depth test,
stencil test, alpha blending, dither, and color channel mask stages of the pipeline
before being incorporated into the render target. A render target is presented
for display on the monitor and video scan out.
Part IV covers the D3DX utility library. D3DX provides an implementation
of common operations used by Direct3D client programs. The code in D3DX
consists entirely of client code and no system components. An application is
free to reimplement the operations provided by D3DX, if necessary.
Chapter 15 introduces D3DX and summarizes features not described else-
where.
Chapter 16 describes the abstract data types provided by D3DX. D3DX
provides support for RGBA color, point, vector, plane, quaternion, and matrix
data types.
Chapter 17 describes the helper COM objects provided by D3DX. D3DX
provides a matrix stack object to assist in rendering frame hierarchies, a font
object to assist in the rendering of text, a sprite object to assist in the rendering
of 2D images, an object to assist in rendering to a surface or an environment
map and objects for the rendering of special e®ects.
Chapter 19 describes the mesh objects provided by D3DX. The mesh objects
provided by D3DX encompass rendering of indexed triangle lists as well as
progressive meshes, mesh simpli¯cation and skinned meshes.
Chapter 21 describes the X ¯le format with the ¯le extension .x. The X ¯le
format provides for extensible hierarchical storage of data objects with object
instancing.6 CHAPTER 1. INTRODUCTION
Part V covers application level considerations. This part of the book de-
scribes issues that are important to applications but aren't strictly part of the
graphics pipeline. Debugging strategies for applications are presented. Almost
all Direct3D applications will be concerned with performance; API related per-
formance issues are discussed here. Finally, installation and deployment issues
for Direct3D applications are discussed.
Chapter 22 describes debugging strategies for Direct3D applications. This
includes using the debug run-time for DirectX 9.0c, techniques for debugging
full-screen applications and remote debugging.
Chapter 23 covers application performance considerations. All real devices
have limitations that a®ect performance. A general consideration of how the
pipeline state a®ects performance is given.
Chapter 24 covers application installation and setup.
Appendix A provides a guided tour of the DirectX SDK materials.
2009-07-16
Introduction to 3D Game Programming with DirectX9.0c (A Shader Approach).part3 附源码
This book presents an introduction to programming interactive computer graphics, with an emphasis on game development, using real-time shaders with DirectX 9.0c. It teaches the fundamentals of Direct3D and shader programming, after which the reader will be prepared to go on and learn more advanced techniques. The book is divided into three main parts. Part I explains the mathematical tools that will be used throughout this book. Part II shows how to implement elementary 3D techniques, such as defining 3D geometry, lighting, texturing, alpha blending, and stenciling, using shaders and the HLSL. Part III is largely about applying Direct3D to implement a variety of interesting techniques and special effects, such as working with meshes, character animation, terrain rendering, picking, particle systems, environment mapping, normal mapping, and rendering to textures.
For the beginner, this book is best read front to back. The chapters have been organized so that the difficulty increases progressively with each chapter. In this way, there are no sudden jumps in complexity that leave the reader lost. In general, for a particular chapter, we will use the techniques and concepts previously developed. Therefore, it is important that you have mastered the material of a chapter before continuing. Readers who are experienced Direct3D users can pick the chapters of interest.
Finally, you may be wondering what kinds of games you can develop after reading this book. The answer to that question is best obtained by skimming through the book and seeing the types of applications that are developed. From that you should be able to visualize the types of games that can be developed based on the techniques taught in this book and some of your own ingenuity.
2009-07-11
Introduction to 3D Game Programming with DirectX9.0c (A Shader Approach).part2 附源码
This book presents an introduction to programming interactive computer graphics, with an emphasis on game development, using real-time shaders with DirectX 9.0c. It teaches the fundamentals of Direct3D and shader programming, after which the reader will be prepared to go on and learn more advanced techniques. The book is divided into three main parts. Part I explains the mathematical tools that will be used throughout this book. Part II shows how to implement elementary 3D techniques, such as defining 3D geometry, lighting, texturing, alpha blending, and stenciling, using shaders and the HLSL. Part III is largely about applying Direct3D to implement a variety of interesting techniques and special effects, such as working with meshes, character animation, terrain rendering, picking, particle systems, environment mapping, normal mapping, and rendering to textures.
For the beginner, this book is best read front to back. The chapters have been organized so that the difficulty increases progressively with each chapter. In this way, there are no sudden jumps in complexity that leave the reader lost. In general, for a particular chapter, we will use the techniques and concepts previously developed. Therefore, it is important that you have mastered the material of a chapter before continuing. Readers who are experienced Direct3D users can pick the chapters of interest.
Finally, you may be wondering what kinds of games you can develop after reading this book. The answer to that question is best obtained by skimming through the book and seeing the types of applications that are developed. From that you should be able to visualize the types of games that can be developed based on the techniques taught in this book and some of your own ingenuity.
2009-07-11
Introduction to 3D Game Programming with DirectX9.0c (A Shader Approach).part1 附源码
This book presents an introduction to programming interactive computer graphics, with an emphasis on game development, using real-time shaders with DirectX 9.0c. It teaches the fundamentals of Direct3D and shader programming, after which the reader will be prepared to go on and learn more advanced techniques. The book is divided into three main parts. Part I explains the mathematical tools that will be used throughout this book. Part II shows how to implement elementary 3D techniques, such as defining 3D geometry, lighting, texturing, alpha blending, and stenciling, using shaders and the HLSL. Part III is largely about applying Direct3D to implement a variety of interesting techniques and special effects, such as working with meshes, character animation, terrain rendering, picking, particle systems, environment mapping, normal mapping, and rendering to textures.
For the beginner, this book is best read front to back. The chapters have been organized so that the difficulty increases progressively with each chapter. In this way, there are no sudden jumps in complexity that leave the reader lost. In general, for a particular chapter, we will use the techniques and concepts previously developed. Therefore, it is important that you have mastered the material of a chapter before continuing. Readers who are experienced Direct3D users can pick the chapters of interest.
Finally, you may be wondering what kinds of games you can develop after reading this book. The answer to that question is best obtained by skimming through the book and seeing the types of applications that are developed. From that you should be able to visualize the types of games that can be developed based on the techniques taught in this book and some of your own ingenuity.
2009-07-11
3D Math Primer for graphics and game development
If you want to learn about 3D math in order to program games or graphics, then this book is for
you. There are many books out there that promise to teach you how to make a game or put cool
pictures up on the screen, so why should you read this particular book? This book offers several
unique advantages over other books about games or graphics programming:
A unique topic. This book fills a gap that has been left by other books on graphics, linear
algebra, simulation, and programming. It is an introductory book, meaning we have focused
our efforts on providing thorough coverage on fundamental 3D concepts — topics that are
normally glossed over in a few quick pages or relegated to an appendix in other publications
(because, after all, you already know all this stuff). Our book is definitely the book you should
read first, before buying that “Write a 3DVideoGame in 21Days” book. This book is not only
an introductory book, it is also a reference book — a “toolbox” of equations and techniques
that you can browse through on a first reading and then revisit when the need for a specific
tool arises.
1 A unique approach. We take a three-pronged approach to the subject matter: math, geome-
try, and code. The math part is the equations and numbers. This is where most books stop. Of
course, the math is important, but to make it powerful, you have to have good intuition about
how the math connects with the geometry.We will show you not just one but multiple ways to
relate the numbers with the geometry on a variety of subjects, such as orientation in 3D,
matrix multiplication, and quaternions. After the intuition comes the implementation; the
code part is the practical part.We show real usable code that makes programming 3D math as
easy as possible.
Unique authors. Our combined experience brings together academic authority with
in-the-trenches practical advice. Fletcher Dunn has six years of professional game program-
ming experience and several titles under his belt on a var
2009-04-08
Network Programming for Microsoft Windows
This book primarily focuses on the Winsock network programming technology. In particular, we've added a chapter on writing high-performance, scalable Winsock applications and a chapter devoted to Winsock programming in the C# programming language using the exciting new .NET Application Frameworks library. In addition, we've completely updated the chapter on the Windows Service Provider Interface (SPI), and we cover additional protocols (such as IPv6 and reliable multicasting) and reveal functionality that is new to Windows XP.
This book covers a wide variety of networking functions available in Windows 95, Windows 98, Windows Me, Windows NT 4.0, Windows 2000, Windows XP, and Windows CE. The majority of the text covers intermediate and advanced networking topics, but we retooled the Winsock section so that it is more accessible to programmers of all levels.
2009-04-05
Introduction to 3D Game Programming with DirectX 9 源码
<<Introduction to 3D Game Programming
with DirectX >>9 的源码
2009-04-04
Shader X2 Introductions and Tutorials with DirectX 9
This book is a collection of articles that explain the foundations of
shader programming, from the High Level Shading Language and
version 3.0 shader models to shadow mapping and stencil shadow
volumes.
2009-04-04
Introduction to 3D Game Programming with DirectX 9
Introduction to 3D Game Programming with DirectX 9.0 provides an introduction to programming interactive 3D computer graphics using DirectX 9.0, with an emphasis on game development. The book begins with an explanation of the mathematical tools and moves on to general 3D concepts. Other topics include performing basic operations in Direct3D such as primitive drawing, lighting, texturing, alpha blending, and stenciling, and using Direct3D to implement techniques that could be required in a game. Chapters on vertex and pixel shaders, including the effects framework and the new High-Level Shading Languages, wraps up the discussion.
Understand basic mathematical and 3D concepts.
Learn how to describe and draw interactive 3D scenes using the Direct3D 9.0 API.
Use Direct3D and the D3DX utility library to implement a variety of techniques and applications, such as transparency, shadows, reflections, fonts, meshes, using XFiles, progressive meshes, terrain rendering, particle systems, picking, cartoon rendering, and multitexturing.
Find out how to write vertex and pixel shader programs with the high-Level Shading Language.
Discover how to write and use effect files with the Direct3D effects framework.
2009-04-04
C++ Templates: The Complete Guide
The exact behaviors of templates
How to avoid the pitfalls associated with templates
Idioms and techniques, from the basic to the previously undocumented
How to reuse source code without threatening performance or safety
How to increase the efficiency of C++ programs
How to produce more flexible and maintainable software
2009-04-02
C++ Common Knowledge Essential Intermediate Programming
c++必知必会《C++ Common Knowledge Essential Intermediate Programming》
2009-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人