- Page 2 and 3: ShaderX 2 : Shader Programming Tips
- Page 4 and 5: Contents Preface vii About the Auth
- Page 6 and 7: Contents Simulation of Iridescence
- Page 8 and 9: Preface After the tremendous succes
- Page 10 and 11: About the Authors Dan Amerson Dan g
- Page 12 and 13: About the Authors currently works o
- Page 14 and 15: About the Authors where he develops
- Page 16 and 17: About the Authors River Media, 2002
- Page 18 and 19: About the Authors ATI Research, whe
- Page 20 and 21: Introduction This book is a collect
- Page 22 and 23: Introduction Nicolas Thibieroz show
- Page 26: Section I Geometry Manipulation Tri
- Page 29 and 30: Section I — Geometry Manipulation
- Page 31 and 32: Section I — Geometry Manipulation
- Page 33 and 34: Section I — Geometry Manipulation
- Page 35 and 36: Section I — Geometry Manipulation
- Page 37 and 38: Section I — Geometry Manipulation
- Page 39 and 40: Section I — Geometry Manipulation
- Page 41 and 42: Section I — Geometry Manipulation
- Page 43 and 44: Terrain Geomorphing in the Vertex S
- Page 45 and 46: Section I — Geometry Manipulation
- Page 47 and 48: Section I — Geometry Manipulation
- Page 49 and 50: Section I — Geometry Manipulation
- Page 51 and 52: Section I — Geometry Manipulation
- Page 53 and 54: Section I — Geometry Manipulation
- Page 55 and 56: Section I — Geometry Manipulation
- Page 57 and 58: Section I — Geometry Manipulation
- Page 59 and 60: Section I — Geometry Manipulation
- Page 61 and 62: Section I — Geometry Manipulation
- Page 63 and 64: Section I — Geometry Manipulation
- Page 65 and 66: Cloth Animation with Pixel and Vert
- Page 67 and 68: Section I — Geometry Manipulation
- Page 69 and 70: Section I — Geometry Manipulation
- Page 71 and 72: Section I — Geometry Manipulation
- Page 73 and 74: Section I — Geometry Manipulation
- Page 75 and 76:
Section I — Geometry Manipulation
- Page 77 and 78:
Section I — Geometry Manipulation
- Page 79 and 80:
Section I — Geometry Manipulation
- Page 81 and 82:
Section I — Geometry Manipulation
- Page 83 and 84:
Collision Shaders Takashi Imagire I
- Page 85 and 86:
Section I — Geometry Manipulation
- Page 87 and 88:
Section I — Geometry Manipulation
- Page 89 and 90:
Section I — Geometry Manipulation
- Page 91 and 92:
Section I — Geometry Manipulation
- Page 93 and 94:
Section I — Geometry Manipulation
- Page 95 and 96:
Section I — Geometry Manipulation
- Page 97 and 98:
Section I — Geometry Manipulation
- Page 99 and 100:
Section I — Geometry Manipulation
- Page 101 and 102:
Section I — Geometry Manipulation
- Page 103 and 104:
Section I — Geometry Manipulation
- Page 105 and 106:
Section I — Geometry Manipulation
- Page 107 and 108:
Section I — Geometry Manipulation
- Page 109 and 110:
Section I — Geometry Manipulation
- Page 111 and 112:
Section I — Geometry Manipulation
- Page 113 and 114:
Normal Map Compression by Jakub Kla
- Page 115 and 116:
Section II — Rendering Techniques
- Page 117 and 118:
Section II — Rendering Techniques
- Page 119 and 120:
Section II — Rendering Techniques
- Page 121 and 122:
Section II — Rendering Techniques
- Page 123 and 124:
Section II — Rendering Techniques
- Page 125 and 126:
Section II — Rendering Techniques
- Page 127 and 128:
Section II — Rendering Techniques
- Page 129 and 130:
Section II — Rendering Techniques
- Page 131 and 132:
Section II — Rendering Techniques
- Page 133 and 134:
Section II — Rendering Techniques
- Page 135 and 136:
Section II — Rendering Techniques
- Page 137 and 138:
Section II — Rendering Techniques
- Page 139 and 140:
Section II — Rendering Techniques
- Page 141 and 142:
Section II — Rendering Techniques
- Page 143 and 144:
Section II — Rendering Techniques
- Page 145 and 146:
Section II — Rendering Techniques
- Page 147 and 148:
Section II — Rendering Techniques
- Page 149 and 150:
Section II — Rendering Techniques
- Page 151 and 152:
Section II — Rendering Techniques
- Page 153 and 154:
Section II — Rendering Techniques
- Page 155 and 156:
Section II — Rendering Techniques
- Page 157 and 158:
Section II — Rendering Techniques
- Page 159 and 160:
Section II — Rendering Techniques
- Page 161 and 162:
Section II — Rendering Techniques
- Page 163 and 164:
Section II — Rendering Techniques
- Page 165 and 166:
Section II — Rendering Techniques
- Page 167 and 168:
Section II — Rendering Techniques
- Page 169 and 170:
Section II — Rendering Techniques
- Page 171 and 172:
Section II — Rendering Techniques
- Page 173 and 174:
Section II — Rendering Techniques
- Page 175 and 176:
Section II — Rendering Techniques
- Page 177 and 178:
Section II — Rendering Techniques
- Page 179 and 180:
Section II — Rendering Techniques
- Page 181 and 182:
Section II — Rendering Techniques
- Page 183 and 184:
Section II — Rendering Techniques
- Page 185 and 186:
Section II — Rendering Techniques
- Page 187 and 188:
Section II — Rendering Techniques
- Page 189 and 190:
Section II — Rendering Techniques
- Page 191 and 192:
Section II — Rendering Techniques
- Page 193 and 194:
Section II — Rendering Techniques
- Page 195 and 196:
Section II — Rendering Techniques
- Page 197 and 198:
Simulating Blending Operations on F
- Page 199 and 200:
Section II — Rendering Techniques
- Page 201 and 202:
Section II — Rendering Techniques
- Page 203 and 204:
Section II — Rendering Techniques
- Page 205 and 206:
Section II — Rendering Techniques
- Page 207 and 208:
Section II — Rendering Techniques
- Page 209 and 210:
Section II — Rendering Techniques
- Page 211 and 212:
Section II — Rendering Techniques
- Page 213 and 214:
Section II — Rendering Techniques
- Page 215 and 216:
Drops of Water and Texture Sprites
- Page 217 and 218:
Section II — Rendering Techniques
- Page 219 and 220:
Section II — Rendering Techniques
- Page 221 and 222:
Section II — Rendering Techniques
- Page 223 and 224:
Section II — Rendering Techniques
- Page 225 and 226:
Section II — Rendering Techniques
- Page 227 and 228:
Section II — Rendering Techniques
- Page 229 and 230:
Section II — Rendering Techniques
- Page 231 and 232:
Section II — Rendering Techniques
- Page 233 and 234:
Section II — Rendering Techniques
- Page 235 and 236:
210 Advanced Water Effects Modifica
- Page 237 and 238:
Section II — Rendering Techniques
- Page 239 and 240:
214 Advanced Water Effects done by
- Page 241 and 242:
Section II — Rendering Techniques
- Page 243 and 244:
Section II — Rendering Techniques
- Page 245 and 246:
Section II — Rendering Techniques
- Page 247 and 248:
Section II — Rendering Techniques
- Page 249 and 250:
Section II — Rendering Techniques
- Page 251 and 252:
Efficient Evaluation of Irradiance
- Page 253 and 254:
Section II — Rendering Techniques
- Page 255 and 256:
Section II — Rendering Techniques
- Page 257 and 258:
Practical Precomputed Radiance Tran
- Page 259 and 260:
Section II — Rendering Techniques
- Page 261 and 262:
Section II — Rendering Techniques
- Page 263 and 264:
Section II — Rendering Techniques
- Page 265 and 266:
Advanced Sky Dome Rendering Marco S
- Page 267 and 268:
Section II — Rendering Techniques
- Page 269 and 270:
Section II — Rendering Techniques
- Page 271 and 272:
Section II — Rendering Techniques
- Page 273 and 274:
Section II — Rendering Techniques
- Page 275 and 276:
Section II — Rendering Techniques
- Page 277 and 278:
Section II — Rendering Techniques
- Page 279 and 280:
Section II — Rendering Techniques
- Page 281 and 282:
Section II — Rendering Techniques
- Page 283 and 284:
Section II — Rendering Techniques
- Page 285 and 286:
Section II — Rendering Techniques
- Page 287 and 288:
Section II — Rendering Techniques
- Page 289 and 290:
Section II — Rendering Techniques
- Page 291 and 292:
Section II — Rendering Techniques
- Page 293 and 294:
Section II — Rendering Techniques
- Page 295 and 296:
Meshuggah’s Effects Explained Car
- Page 297 and 298:
Section II — Rendering Techniques
- Page 299 and 300:
Section II — Rendering Techniques
- Page 301 and 302:
Section II — Rendering Techniques
- Page 303 and 304:
278 Meshuggah’s Effects Explained
- Page 305 and 306:
Section II — Rendering Techniques
- Page 307 and 308:
Section II — Rendering Techniques
- Page 309 and 310:
Section II — Rendering Techniques
- Page 311 and 312:
Section II — Rendering Techniques
- Page 313 and 314:
Section II — Rendering Techniques
- Page 315 and 316:
Section II — Rendering Techniques
- Page 317 and 318:
Section II — Rendering Techniques
- Page 319 and 320:
Section II — Rendering Techniques
- Page 321 and 322:
Section II — Rendering Techniques
- Page 323 and 324:
Section II — Rendering Techniques
- Page 325 and 326:
Section II — Rendering Techniques
- Page 327 and 328:
Section II — Rendering Techniques
- Page 329 and 330:
Section II — Rendering Techniques
- Page 331 and 332:
Section II — Rendering Techniques
- Page 333 and 334:
Section II — Rendering Techniques
- Page 335 and 336:
Section II — Rendering Techniques
- Page 337 and 338:
Section II — Rendering Techniques
- Page 339 and 340:
Section II — Rendering Techniques
- Page 341 and 342:
Section II — Rendering Techniques
- Page 343 and 344:
Section II — Rendering Techniques
- Page 345 and 346:
Section II — Rendering Techniques
- Page 347 and 348:
Section II — Rendering Techniques
- Page 349 and 350:
Stereoscopic Rendering in Hardware
- Page 351 and 352:
Section II — Rendering Techniques
- Page 353 and 354:
Section II — Rendering Techniques
- Page 355 and 356:
Section II — Rendering Techniques
- Page 357 and 358:
Section II — Rendering Techniques
- Page 359 and 360:
Section II — Rendering Techniques
- Page 361 and 362:
Section II — Rendering Techniques
- Page 363 and 364:
Section II — Rendering Techniques
- Page 365 and 366:
Hatching, Stroke Styles, and Pointi
- Page 367 and 368:
Section II — Rendering Techniques
- Page 369 and 370:
Section II — Rendering Techniques
- Page 371 and 372:
Section II — Rendering Techniques
- Page 373 and 374:
Layered Fog Overview 348 Guillaume
- Page 375 and 376:
Section II — Rendering Techniques
- Page 377 and 378:
Dense Matrix Algebra on the GPU Ád
- Page 379 and 380:
Section II — Rendering Techniques
- Page 381 and 382:
Section II — Rendering Techniques
- Page 383 and 384:
Section II — Rendering Techniques
- Page 385 and 386:
Section II — Rendering Techniques
- Page 387 and 388:
Section II — Rendering Techniques
- Page 389 and 390:
Section II — Rendering Techniques
- Page 391 and 392:
Section II — Rendering Techniques
- Page 393 and 394:
Section II — Rendering Techniques
- Page 395 and 396:
Section II — Rendering Techniques
- Page 397 and 398:
Section II — Rendering Techniques
- Page 399 and 400:
Section II — Rendering Techniques
- Page 401 and 402:
Section II — Rendering Techniques
- Page 403 and 404:
Section II — Rendering Techniques
- Page 405 and 406:
Section II — Rendering Techniques
- Page 408 and 409:
Introduction Software Vertex Shader
- Page 410 and 411:
Processor Features and Performance
- Page 412 and 413:
processed. The exact number of vert
- Page 414 and 415:
Write Directly to Output Registers
- Page 416 and 417:
Section III — Software Shaders an
- Page 418 and 419:
Section III — Software Shaders an
- Page 420 and 421:
the features available in later sha
- Page 422 and 423:
Section III — Software Shaders an
- Page 424 and 425:
There is a handy macro to make it a
- Page 426 and 427:
Section III — Software Shaders an
- Page 428 and 429:
Luckily there’s a shortcut called
- Page 430 and 431:
} Section III — Software Shaders
- Page 432 and 433:
�z A �� �x C For the gradie
- Page 434 and 435:
u w w u C x y x y v w w v C x y x y
- Page 436 and 437:
Section III — Software Shaders an
- Page 438 and 439:
SoftD3D: A Software-only Implementa
- Page 440 and 441:
Then it was time to implement the
- Page 442 and 443:
� Fixed-function pipeline using D
- Page 444 and 445:
ViewerPosition.y = -Transform[D3DTS
- Page 446 and 447:
forceinline void FastFloat2Int SetF
- Page 448 and 449:
Let’s summarize this stage again.
- Page 450 and 451:
Alpha Testing Z-Testing If D3DRS_AL
- Page 452 and 453:
Output to the Render Target Finally
- Page 454 and 455:
Section III — Software Shaders an
- Page 456 and 457:
References Section III — Software
- Page 458 and 459:
named constants into your code that
- Page 460 and 461:
Section III — Software Shaders an
- Page 462:
Section IV Image Space Advanced Ima
- Page 465 and 466:
Section IV — Image Space 440 Adva
- Page 467 and 468:
Section IV — Image Space 442 Adva
- Page 469 and 470:
Section IV — Image Space 444 Adva
- Page 471 and 472:
Section IV — Image Space 446 Adva
- Page 473 and 474:
Section IV — Image Space 448 Adva
- Page 475 and 476:
Section IV — Image Space 450 Adva
- Page 477 and 478:
Section IV — Image Space 452 Adva
- Page 479 and 480:
Section IV — Image Space 454 Adva
- Page 481 and 482:
Section IV — Image Space 456 Adva
- Page 483 and 484:
Section IV — Image Space 458 Adva
- Page 485 and 486:
Section IV — Image Space 460 Adva
- Page 487 and 488:
Section IV — Image Space 462 Adva
- Page 489 and 490:
Section IV — Image Space 464 Adva
- Page 491 and 492:
Section IV — Image Space 466 Nigh
- Page 493 and 494:
Section IV — Image Space 468 Nigh
- Page 495 and 496:
Section IV — Image Space 470 Non-
- Page 497 and 498:
Section IV — Image Space 472 Non-
- Page 499 and 500:
Section IV — Image Space 474 Non-
- Page 501 and 502:
Section IV — Image Space 476 Non-
- Page 503 and 504:
Section IV — Image Space 478 Non-
- Page 505 and 506:
Section IV — Image Space 480 Non-
- Page 507 and 508:
Section IV — Image Space 482 Imag
- Page 509 and 510:
Section IV — Image Space 484 Imag
- Page 511 and 512:
Section IV — Image Space 486 Imag
- Page 513 and 514:
Section IV — Image Space 488 Imag
- Page 515 and 516:
Section IV — Image Space 490 Imag
- Page 517 and 518:
Section IV — Image Space 492 Imag
- Page 519 and 520:
Section IV — Image Space 494 Imag
- Page 521 and 522:
Section IV — Image Space 496 Imag
- Page 523 and 524:
Section IV — Image Space 498 Imag
- Page 525 and 526:
Section IV — Image Space 500 Imag
- Page 527 and 528:
Section IV — Image Space 502 Imag
- Page 529 and 530:
Section IV — Image Space 504 Imag
- Page 531 and 532:
Section IV — Image Space 506 Imag
- Page 533 and 534:
Section IV — Image Space 508 Imag
- Page 535 and 536:
Section IV — Image Space 510 Imag
- Page 537 and 538:
Section IV — Image Space 512 Imag
- Page 539 and 540:
Section IV — Image Space 514 Imag
- Page 541 and 542:
Section IV — Image Space 516 Imag
- Page 543 and 544:
Section IV — Image Space 518 Imag
- Page 545 and 546:
Section IV — Image Space 520 Usin
- Page 547 and 548:
Section IV — Image Space 522 Usin
- Page 549 and 550:
Section IV — Image Space 524 Usin
- Page 551 and 552:
Mandelbrot Set Rendering Emil Perss
- Page 553 and 554:
Section IV — Image Space 528 Mand
- Page 555 and 556:
Section IV — Image Space 530 Real
- Page 557 and 558:
Section IV — Image Space 532 Real
- Page 559 and 560:
Section IV — Image Space 534 Real
- Page 561 and 562:
Section IV — Image Space 536 Real
- Page 563 and 564:
Section IV — Image Space 538 Real
- Page 565 and 566:
Section IV — Image Space 540 Real
- Page 567 and 568:
Section IV — Image Space 542 Real
- Page 569 and 570:
Section IV — Image Space 544 Real
- Page 571 and 572:
Section IV — Image Space 546 Real
- Page 573 and 574:
Section IV — Image Space 548 Real
- Page 575 and 576:
Section IV — Image Space 550 Real
- Page 577 and 578:
Section IV — Image Space 552 Real
- Page 579 and 580:
Section IV — Image Space 554 Real
- Page 581 and 582:
Section IV — Image Space 556 Real
- Page 584 and 585:
Presentation Soft Shadows Flavien B
- Page 586 and 587:
that is located at the center of th
- Page 588 and 589:
Figure 2: Inner and outer volumes f
- Page 590 and 591:
As a result, we end up with a verte
- Page 592 and 593:
Outer Volume by Jittering the Point
- Page 594 and 595:
Section V — Shadows Soft Shadows
- Page 596 and 597:
; step 3: G=D*M' mul r8, r8, c1.x ;
- Page 598 and 599:
No vertex shader is needed, since t
- Page 600 and 601:
the conditional moves plus six for
- Page 602 and 603:
dcl position0 v0 dcl texcoord0 v2 ;
- Page 604 and 605:
References Section V — Shadows So
- Page 606 and 607:
In the diagram at right, the dotted
- Page 608 and 609:
Following the second shadow test, t
- Page 610 and 611:
The largest mipmap level contains a
- Page 612 and 613:
Introduction Reverse Extruded Shado
- Page 614 and 615:
� Add bias to polygons of visible
- Page 616 and 617:
What does this technique do? It’s
- Page 618:
Summary � It’s more robust than
- Page 622 and 623:
The Problems Shader Abstraction Tom
- Page 624 and 625:
The Material The core concept in th
- Page 626 and 627:
existing Materials and trying to ma
- Page 628 and 629:
Section VI — 3D Engine and Tools
- Page 630 and 631:
handle a lot of the cases by render
- Page 632 and 633:
e fed in, and in most cases the Mat
- Page 634 and 635:
TextureSourceNormalMap class, Gener
- Page 636 and 637:
Section VI — 3D Engine and Tools
- Page 638 and 639:
Section VI — 3D Engine and Tools
- Page 640 and 641:
Once the main scene and the effects
- Page 642 and 643:
Alpha-blended Objects Traditionally
- Page 644 and 645:
Because of this, it is worth lookin
- Page 646 and 647:
Distortion Section VI — 3D Engine
- Page 648 and 649:
endered to at the same time. In man
- Page 650 and 651:
Introduction Shaders under Control
- Page 652 and 653:
The distribution in databases that
- Page 654 and 655:
dynamic per-pixel illumination, dur
- Page 656 and 657:
Introduction The Past Shader Integr
- Page 658 and 659:
The NetImmerse Solution Section VI
- Page 660 and 661:
Support Industry Standard Formats T
- Page 662 and 663:
shader interface classes from a num
- Page 664 and 665:
features are an incredible help to
- Page 666 and 667:
Constant Register Mapping Section V
- Page 668 and 669:
At the lowest level, the Gamebryo S
- Page 670 and 671:
As you can see from this diagram, d
- Page 672 and 673:
Simple Access to Shader Collections
- Page 674 and 675:
Section VI — 3D Engine and Tools
- Page 676 and 677:
Concept DirectX Vertex Shader Assem
- Page 678 and 679:
Functions The constant definition t
- Page 680 and 681:
Plug-ins Here is an example of the
- Page 682 and 683:
Arrays The VSC supports arrays as p
- Page 684 and 685:
adical plugin FinalMatrix(vector x,
- Page 686 and 687:
Function Description float ceil(flo
- Page 688 and 689:
} SelectedLight.Range, out.Tex0, ou
- Page 690 and 691:
Gallery #include void vsmain(float
- Page 692 and 693:
Shader Disassembler NOTE In this ar
- Page 694 and 695:
Version Token Bits 31-16 Bits 15-8
- Page 696 and 697:
� The swizzle field contains (for
- Page 698 and 699:
Section VI — 3D Engine and Tools
- Page 700 and 701:
Color Plate 1. A PVS optimized scen
- Page 702 and 703:
Color Plate 4. (left) Diffuse (dot3
- Page 704 and 705:
Color Plate 8. Rendering drop of wa
- Page 706 and 707:
Color Plate 13. Diffuse data (See p
- Page 708 and 709:
A B C D E F G H A translucent and i
- Page 710 and 711:
Color Plate 20. A real-time impleme
- Page 712 and 713:
Figure 7 (See page 478.) Figure 8 (
- Page 714 and 715:
Example of real-time depth of field
- Page 716 and 717:
2D noise function, 34 2D shapes, us
- Page 718 and 719:
using to light illustrations, 345-3
- Page 720 and 721:
passing object ID to lighting view
- Page 722 and 723:
translucency, 309 calculating, 313-
- Page 724:
for more? leading Game Developer’
- Page 729:
CD/Source Code Usage License Agreem