Welcome to the latest volume of ShaderX! This all-new collection is packed with insightful new techniques, innovative approaches to common problems, and practical tools and tricks that will help you in all areas of shader programming. All of the articles evolved from the work and experiences of industry pros, and all of the sections were edited by shader programming experts. With the rapid advances in DirectX, OpenGL, and graphics cards, vertex and pixel shaders are becoming more widely used in high-end graphics and game development. The challenges of mastering these techniques can be daunting for new programmers, but with this comprehensive collection of ready-to-use techniques, they'll get up to speed quickly. And for the more experienced programmers, they'll find insights and tricks that will improve their efficiency and prevent redundancy. If you are involved in shader programming, this is a must-have reference for your collection.ON THE CD: The CD-ROM contains the example programs with source code accompanying the majority of chapters, as well as useful demos, and the latest Microsoft(tm) DirectX 9 System Development Kit (SDK).SYSTEM REQUIREMENTS: To use all of the files on the CD-ROM, you will need the DirectX 9 summer update 2004 SDK, OpenGL 1.5 compatible graphics card, a DirectX 8, 8.1 or 9.0 compatible graphics card; Windows XP with the latest service pack; Visual C++.NET 2003, Visual Studio C/C++ 6.0, 512 MB RAM; 500 MB of free space on your hard drive; Pentium IV/ ATHLON with more than 1.5 GHZ and the latest graphics card drivers.
Author(s): Wolfgang Engel
Series: Shaderx Series
Year: 2006
Language: English
Pages: 616
First Page......Page 1
Contents......Page 4
About the Editors......Page 9
About the Contributors......Page 12
Section 1 - Introduction and Geometry Manipulation Tricks......Page 21
Introduction......Page 22
1.1 Accessing and Modifying Topology on the GPU......Page 23
1.2 Rendering of Complex Formulas......Page 38
1.3 Deforming of Mesh Objects Using HLSL......Page 46
1.4 Morphing Between Two Different Objects......Page 53
1.5 Silhouette Geometry Shaders......Page 64
1.6 GLSL Real-Time Shader Development......Page 72
Section 2 - Rendering Techniques......Page 100
Introduction......Page 101
2.1 Parallax Mapping......Page 103
2.2 Deferred Lighting on PS 3.0 with High Dynamic Range......Page 110
2.3 Reflections from Bumpy Surfaces......Page 119
2.4 Massively Parallel Particle Systems on the GPU......Page 132
2.5 Parallax Occlusion Mapping......Page 147
2.6 Improved Batching via Texture Atlases......Page 167
2.7 A Simulation of Thermal Imaging......Page 180
2.8 Real-Time Texture-Space Skin Rendering......Page 182
2.9 Dot3 Cel Shading......Page 194
2.10 Hardware Accelerated Charcoal Rendering......Page 204
2.11 Detail Texture Motion Blur......Page 214
2.12 Animation and Display of Water......Page 224
2.13 Rendering Semitransparent Layered Media......Page 238
2.14 Hair Rendering and Shading......Page 248
2.15 Reduction of Lighting Calculations Using Spherical Harmonics......Page 260
Section 3 - Software Shaders and Shader Programming Tips......Page 272
Introduction......Page 273
Optimizing Dx9 Vertex Shaders for Software Vertex Processing......Page 274
3.2 Software Shaders and DirectX DLL Implementation......Page 285
3.3 Tactical Path-Finding Using Stochastic Maps on the GPU......Page 318
3.4 FX Composer 1.5 - Standardization......Page 331
Section 4 - Image Space......Page 341
Introduction......Page 342
4.1 A Steerable Streak Filter......Page 344
4.2 Adaptive Glare......Page 352
4.3 Color Grading......Page 359
4.4 Improved Depth-of-Field Rendering......Page 365
4.5 Lighting Precomputation Using the Relighting Map......Page 380
4.6 Shaderey - NPR Style Rendering......Page 394
Section 5 - Shadows......Page 400
Introduction......Page 401
5.1 Poisson Shadow Blur......Page 402
5.2 Fractional-Disk Soft Shadows......Page 409
5.3 Fake Soft Shadows Using Precomputed Visibility Distance Funcitons......Page 423
5.4 Efficient Omnidirectional Shadow Maps......Page 432
Section 6 - 3D Engine Design......Page 446
Introduction......Page 447
6.1 An Extensible Direct3D Resource Management System......Page 448
6.2 Integrating Shaders into the Vision Rendering Enginge......Page 460
6.3 Effect Parameters Manipulation Framework......Page 473
6.4 Shader Visualisazation Systems for the Art Pipeline......Page 481
6.5 Drawing a Crowd......Page 499
Section 7 - Tools......Page 512
7.1 In-Depth Performance Analyses of DX9 Shading......Page 514
7.2 Shaderbreaker......Page 536
7.3 Generating Shaders from HLSL Fragments......Page 545
Section 8 - Environmental Effects......Page 558
Introduciton......Page 559
8.1 Light Shaft Rendering......Page 560
8.2 Rendering Rainbows......Page 576
8.3 A Practical Analytic Model for Daylight with Shaders......Page 584
8.4 Volumetric Clouds......Page 598
Appendix - About the CD-ROM......Page 604
Index......Page 605