did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781556220418

Direct3d ShaderX : Vertex and Pixel Shader Tips and Tricks

by ; ;
  • ISBN13:

    9781556220418

  • ISBN10:

    1556220413

  • Format: Paperback
  • Copyright: 2002-07-01
  • Publisher: Jones & Bartlett Pub
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.95

Summary

Vertex and pixel shader programming allows graphics and game developers to create photorealistic graphics on the personal computer for the first time. And with DirectX, programmers have access to an assembly language interface to the transformation and lighting hardware (vertex shaders) and the pixel pipeline (pixel shaders). Direct3D ShaderX begins with an introduction to vertex and pixel shader programming and moves on to a wide array of specialized shader tricks contributed by 27 experts in game and graphics programming. These range from character animation and lighting to photorealistic faces and non-photorealistic rendering. Special effects shaders are also presented, including those for such effects as bubbles, rippling water, animated grass, and particle flows. Book jacket.

Table of Contents

Forewordp. xvi
Acknowledgmentsp. xvii
Introduction to Shader Programming
Fundamentals of Vertex Shadersp. 4
What You Need to Know/Equipmentp. 5
Vertex Shaders in the Pipelinep. 5
Why Use Vertex Shaders?p. 7
Vertex Shader Toolsp. 8
Vertex Shader Architecturep. 16
High-Level View of Vertex Shader Programmingp. 18
What Happens Next?p. 35
Programming Vertex Shadersp. 38
RacorXp. 38
RacorX2p. 49
RacorX3p. 53
RacorX4p. 59
RacorX5p. 66
What Happens Next?p. 70
Fundamentals of Pixel Shadersp. 72
Why Use Pixel Shaders?p. 72
Pixel Shaders in the Pipelinep. 74
Pixel Shader Toolsp. 79
Pixel Shader Architecturep. 81
High-Level View of Pixel Shader Programmingp. 84
Summaryp. 121
What Happens Next?p. 122
Programming Pixel Shadersp. 125
RacorX6p. 125
RacorX7p. 137
RacorX8p. 140
RacorX9p. 144
Further Readingp. 147
Basic Shader Development with Shader Studiop. 149
Introductionp. 149
What You Should Knowp. 149
Create a Vertex Shaderp. 152
Create a Pixel Shaderp. 159
Shaders Referencep. 160
Assetsp. 169
Further Infop. 169
Vertex Shader Tricks
Vertex Decompression in a Shaderp. 172
Introductionp. 172
Vertex Compression Overviewp. 172
Vertex Shader Data Typesp. 173
Compressed Vertex Stream Declaration Examplep. 174
Basic Compressionp. 174
Advanced Compressionp. 180
Conclusionp. 187
Shadow Volume Extrusion Using a Vertex Shaderp. 188
Introductionp. 188
Creating Shadow Volumesp. 189
Effect File Codep. 191
Using Shadow Volumes with Character Animationp. 192
Character Animation with Direct3D Vertex Shadersp. 195
Introductionp. 195
Tweeningp. 195
Skinningp. 197
Animating Tangent Space for Per-Pixel Lightingp. 202
Summaryp. 208
Lighting a Single-Surface Objectp. 209
Vertex Shader Codep. 211
Enhanced Lighting for Thin Objectsp. 213
About the Demop. 214
Optimizing Software Vertex Shadersp. 215
Introduction to Pentium 4 Processor Architecturep. 216
Introduction to the Streaming SIMD Extensionsp. 217
Optimal Data Arrangement for SSE Instruction Usagep. 218
How the Vertex Shader Compiler Worksp. 220
A Detailed Examplep. 224
Compendium of Vertex Shader Tricksp. 228
Introductionp. 228
Periodic Timep. 228
One-Shot Effectp. 229
Random Numbersp. 229
Flow Controlp. 230
Cross Productsp. 230
Examplesp. 230
Summaryp. 231
Perlin Noise and Returning Results from Shader Programsp. 232
Limitations of Shadersp. 232
Perlin Noise and Fractional Brownian Motionp. 234
Final Thoughtsp. 251
Pixel Shader Tricks
Blending Textures for Terrainp. 256
Image Processing with 1.4 Pixel Shaders in Direct3Dp. 258
Introductionp. 258
Simple Transfer Functionsp. 259
Filter Kernelsp. 261
Edge Detectionp. 262
Mathematical Morphologyp. 265
Conclusionp. 268
Hardware Supportp. 269
Sample Applicationp. 269
Hallo World--Font Smoothing with Pixel Shadersp. 270
Emulating Geometry with Shaders--Impostersp. 273
Smooth Lighting with ps.1.4p. 277
Per-Pixel Fresnel Termp. 281
Introductionp. 281
Fresnel Effectsp. 281
Effect Codep. 283
Diffuse Cube Mappingp. 287
Introductionp. 287
Using Diffuse Cube Mapsp. 287
Generating Dynamic Diffuse Cube Mapsp. 288
Accurate Reflections and Refractions by Adjusting for Object Distancep. 290
Introductionp. 290
The Artifacts of Environment Mappingp. 290
UV Flipping Technique to Avoid Repetitionp. 295
Photorealistic Faces with Vertex and Pixel Shadersp. 296
Introductionp. 296
Softwarep. 296
Resourcesp. 297
3D Modelp. 297
A Word About Optimizationsp. 302
Full Head Mappingp. 309
What's Next?p. 312
Environment Mapping for Eyesp. 315
Facial Animationp. 317
Conclusionp. 317
Non-Photorealistic Rendering with Pixel and Vertex Shadersp. 319
Introductionp. 319
Rendering Outlinesp. 319
Cartoon Lighting Modelp. 322
Hatchingp. 324
Gooch Lightingp. 326
Image Space Techniquesp. 328
Conclusionp. 333
Animated Grass with Pixel and Vertex Shadersp. 334
Introductionp. 334
Waving the Grassp. 334
Lighting the Grassp. 334
Texture Perturbation Effectsp. 337
Introductionp. 337
Wispy Cloudsp. 337
Perturbation-Based Firep. 342
Plasma Glassp. 344
Summaryp. 346
Rendering Ocean Waterp. 347
Introductionp. 347
Sinusoidal Perturbation in a Vertex Shaderp. 348
CMEMBM Pixel Shader with Fresnel Termp. 350
Ocean Water Shader Source Codep. 352
Sample Applicationsp. 356
Rippling Reflective and Refractive Waterp. 357
Introductionp. 357
Generating Reflection and Refraction Mapsp. 358
Vertex Shaderp. 358
Pixel Shaderp. 360
Conclusionp. 362
Crystal/Candy Shaderp. 363
Introductionp. 363
Setupp. 363
Vertex Shaderp. 364
Pixel Shaderp. 365
Summaryp. 368
Bubble Shaderp. 369
Introductionp. 369
Setupp. 369
Vertex Shaderp. 370
Pixel Shaderp. 372
Summaryp. 375
Per-Pixel Strand-Based Anisotropic Lightingp. 376
Introductionp. 376
Strand-Based Illuminationp. 376
Per-Pixel Strand-Based Illuminationp. 378
Summaryp. 382
A Non-Integer Power Function on the Pixel Shaderp. 383
Overviewp. 383
Traditional Techniquesp. 384
Mathematical Detailsp. 387
Power Function on the Pixel Shaderp. 391
Applicationsp. 396
Summaryp. 402
Bump Mapped BRDF Renderingp. 405
Introductionp. 405
Bidirectional Reflectance Distribution Functionsp. 406
Decomposing the Functionp. 407
Reconstructionp. 407
Adding the Bumpsp. 410
Conclusionp. 412
Real-Time Simulation and Rendering of Particle Flowsp. 414
Motivationp. 414
Ingredientsp. 415
How Does a Single Particle Move?p. 416
Basic Texture Advection: How Do a Bunch of Particles Move?p. 417
Inflow: Where are the Particles Born?p. 421
How Can Particles Drop Out?p. 423
Implementationp. 423
Summaryp. 425
Using 3D Textures with Shaders
3D Textures and Pixel Shadersp. 428
Introductionp. 428
3D Texturesp. 428
Applicationp. 435
Truly Volumetric Effectsp. 438
The Role of Volume Visualizationp. 438
Basic Volume Graphicsp. 439
Animation of Volume Graphicsp. 441
High-Quality but Fast Volume Renderingp. 444
Where to Go from Herep. 446
Acknowledgmentsp. 447
Engine Design with Shaders
First Thoughts on Designing a Shader-Driven Game Enginep. 450
Bump Mappingp. 450
Real-time Lightingp. 450
Use Detail Texturesp. 451
Use Anisotropic Filteringp. 451
Split Up Rendering into Independent Passesp. 451
Use_x2p. 452
Visualization with the Krass Game Enginep. 453
Introductionp. 453
General Structure of the Krass Enginep. 453
Developmental History of the Rendering Componentp. 454
Previous Drawbacks of Hardware Developmentp. 455
Current Drawbacksp. 455
Ordering Effects in the Krass Enginep. 456
Application of the IMG Concept for Terrain Renderingp. 457
Particle Rendering to Exemplify a Specialized Effect Shaderp. 460
Summaryp. 461
Designing a Vertex Shader-Driven 3D Engine for the Quake III Formatp. 463
Quake III Arena Shadersp. 463
Vertex Program Setup in the Viewerp. 464
Vertex Shader Effectsp. 467
Rendering Processp. 471
Summaryp. 472
Glossaryp. 474
About the Authorsp. 481
Indexp. 487
Table of Contents provided by Syndetics. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program