rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9781592000920

Shaders for Game Programmers and Artists

by St-Laurent,Sebastien
  • ISBN13:

    9781592000920

  • ISBN10:

    1592000924

  • Edition: CD
  • Format: Paperback
  • Copyright: 2004-05-13
  • Publisher: Cengage Learning Ptr
  • 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: $39.99

Summary

"Shaders for Game Programmers and Artists" - the title says it all. This book does something that other shader books don't. It focuses solely on shaders and their creation. You'll use ATI's RenderMonkey platform, giving you an easy-to-use framework for shader development and allowing you to focus your energy on shader development rather than the development of framework applications. Cover simple techniques, from the basics of color filters to more advanced topics, such as depth of field, heat shimmer, and high-dynamic range rendering. Extensive exercises at the end of each chapter allow you to test your skills by expanding upon the shader you've just developed. Whether you are an engineer or a technically minded artist, you've finally found the ideal guide for mastering shaders!

Author Biography

Sebastien St-Laurent has been programming games professionally for several years. He started in the video game industry while studying computer engineering at Sherbrooke University in Sherbrooke, Quebec. He went on to work full time with Z-Axis as lead Xbox engineer. Currently, he is a graphics engineer in the ACES group at Microsoft, Inc.

Table of Contents

Introduction xxi
PART I FROM THE GROUND UP 1(64)
Chapter 1 Welcome to the World of Shaders
3(16)
Prerequisites
5(1)
Vertex and Pixel Shader Pipelines and Capabilities
6(6)
Tool Overview
12(5)
RenderMonkey
12(1)
Microsoft Texture Tool
13(1)
NVIDIA Photoshop Plug-In
14(1)
3D Studio Max
14(2)
Microsoft Effect Editor
16(1)
NVIDIA's Cg Toolkit
17(1)
It's Your Turn!
17(1)
What's Next?
17(2)
Chapter 2 The Art of 3D
19(18)
From the Ground Up
19(10)
Looking at Our Universe
20(3)
Translation Matrix
23(1)
Scale Matrix
23(1)
Rotation Matrix
24(1)
Viewing It from a Camera
25(3)
Under the Hood
28(1)
3D APIs
29(6)
OpenGL
30(1)
DirectX and Direct3D
30(1)
Which One Is Better?
31(1)
Hardware Architecture
32(2)
Shaders
34(1)
It's Your Turn!
35(1)
What's Next?
36(1)
Chapter 3 RenderMonkey Version 1.5
37(14)
Introduction to RenderMonkey
38(1)
Our First Look at RenderMonkey
38(4)
Autopsy of a Shader
42(8)
It's Your Turn!
50(1)
What's Next?
50(1)
Chapter 4 Getting Started, Your First Shaders
51(14)
Your First Shader
51(7)
Texturing Your Object
58(4)
Seeing Double
62(2)
It's Your Turn!
64(1)
Exercise 1: ANIMATING A TEXTURE
64(1)
Exercise 2: BLENDING TWO TEXTURES
64(1)
What's Next?
64(1)
PART II SCREEN EFFECTS 65(88)
Chapter 5 Looking Through a Filter
67(22)
Rendering to a Sketchpad
67(8)
Texture Coordinates
71(3)
Finally Rendering Your Render Target
74(1)
Don't Adjust Your TV!
75(5)
Black and White, Like in the Old Times
75(2)
Generalizations Are Good!
77(2)
Things Are Not Always Linear
79(1)
Blurring Things Up
80(4)
Bring on the Filters
83(1)
Motion Blur
84(4)
Building the Motion Blur Shader
86(2)
It's Your Turn!
88(1)
Exercise 1: OLD TIME MOVIE
88(1)
Exercise 2: GAUSS FILTER
88(1)
What's Next?
88(1)
Chapter 6 Blurring Things Up
89(26)
What Is Depth of Field?
90(3)
It's All About Faking It!
93(20)
Blurring Things, Take Two
94(2)
Depth Impostors
96(5)
A Note About Z-Buffers
101(1)
Using the Alpha Channel
102(4)
A Note About Multiple Render Targets
106(1)
Doing It Twice
107(4)
What About the Z-Buffer?
111(1)
Special Considerations
112(1)
It's Your Turn!
113(1)
Exercise 1: MULTIPLE IMPOSTORS
113(1)
Exercise 2: USING A LOOKUP TEXTURE
113(1)
Exercise 3: USING INTERMEDIATE BLUR TEXTURES TO CREATE A SMOOTHER TRANSITION
114(1)
What's Next?
114(1)
Chapter 7 It's Getting Hot in Here
115(18)
What Is Heat Haze?
115(3)
Uses for Heat Haze
118(6)
It's All About Distortion Maps
118(2)
Putting a Background to Your Shader
120(4)
Hitting the Pavement
124(3)
Looking Above the Flame
127(4)
It's Your Turn!
131(1)
Exercise 1: YOUR OWN REFRACTION SHADER
132(1)
Exercise 2: MAKING IT MORE LIVELY
132(1)
What's Next?
132(1)
Chapter 8 Making Your Day Brighter
133(20)
What Is High Dynamic Range?
134(1)
Glare
134(1)
Streaks
135(1)
Lens Flares
135(1)
A Few HDR Basics
135(4)
What About Floating-Point Textures?
136(1)
Exposure Control: The First Step
136(3)
A Note on Automatic Exposure Control
139(1)
Time for Some High Dynamic Range Effects
139(11)
Your First HDR Shader: The Glare!
139(4)
Time for Some Streaking!
143(2)
Lens Flare Free-for-All
145(3)
Putting It All Together
148(2)
Solutions for Today's Hardware
150(2)
It's Your Turn!
152(1)
Exercise 1: USING A BIG FILTER
152(1)
Exercise 2: STREAKING ON TODAY'S HARDWARE
152(1)
What's Next?
152(1)
PART III MAKING IT LOOK REAL 153(108)
Chapter 9 May There Be Light
155(24)
Of Light and Magic
155(7)
What Makes Light in the First Place
156(6)
Types of Lights
162(5)
Directional Light
162(2)
Point Lights
164(1)
Spot Lights
165(1)
Area Lights
166(1)
Let's Get Shading
167(10)
Ambient Lighting
168(1)
Diffuse Lighting
169(2)
Specular Lighting
171(3)
Putting It Together
174(3)
It's Your Turn!
177(1)
Exercise 1: DIRECTION LIGHTS
177(1)
Exercise 2: ANIMATING LIGHTS
177(1)
What's Next?
177(2)
Chapter 10 Shiny Little Pixels
179(20)
Why Isn't Vertex Lighting Enough?
179(1)
Basic Pixel Lighting
180(9)
Diffuse Lighting
181(3)
Specular Lighting
184(3)
Putting It All Together
187(2)
Giving You Goose Bumps
189(8)
Bumpmapping
190(1)
Tangent Space
191(2)
Normal Maps
193(4)
It's Your Turn!
197(1)
Exercise 1: DIRECTION LIGHTS
197(1)
Exercise 2: MULTIPLE LIGHTS
197(1)
What's Next?
197(2)
Chapter 11 Mirror, Mirror, On the Wall
199(16)
From Reflections to Refractions
199(13)
Reflections
203(3)
Refraction
206(3)
Walking Hand in Hand
209(3)
Building Dynamic Environment Maps
212(1)
It's Your Turn!
213(1)
Exercise 1: DOING IT ALL PER-PIXEL
213(1)
Exercise 2: COLOR-BASED REFRACTION
214(1)
What's Next?
214(1)
Chapter 12 Not All Materials Are the Same
215(14)
BRDFs Are Your Friends
217(10)
Soft and Velvety
218(4)
Determining BRDFs
222(2)
Oren-Nayer Velvet
224(3)
It's Your Turn!
227(1)
Exercise 1: USING LOOKUP TEXTURES
227(1)
Exercise 2: MULTIPLE BRDFs
228(1)
What's Next?
228(1)
Chapter 13 Building Materials from Scratch
229(16)
Turning Up the Noise!
230(12)
Clouds, Clouds in the Sky
236(1)
Wood and Marble
237(3)
Using Noise to Move Things Around
240(2)
It's Your Turn!
242(1)
Exercise 1: ANIMATING CLOUDS
242(1)
Exercise 2: RENDERING STRATA
242(1)
What's Next?
243(2)
Chapter 14 Why Does It Always Need to Look Real?
245(16)
Just Like a Television Cartoon
246(10)
Outline Rendering
246(4)
Other Outlining Ideas
250(2)
Toon Shading
252(4)
Real-Time Hatching
256(3)
It's Your Turn!
259(1)
Exercise 1: DEPTH-BASED OUTLINE
259(1)
Exercise 2: SILHOUETTE AND TOON SHADING
260(1)
What's Next?
260(1)
PART IV ADVANCED TOPICS 261(80)
Chapter 15 Watch Out for That Morning Fog
263(18)
The Basics of Fog
263(2)
Hardware Fog
265(12)
Not Just Your Everyday Fog
269(2)
Giving Your Fog a Little Depth
271(6)
Rendering the Atmosphere
277(2)
It's Your Turn!
279(1)
Exercise 1: ROUND FOG
279(1)
What's Next?
279(2)
Chapter 16 Moving Objects Around
281(10)
Light, Camera, Action!
281(9)
Object Metamorphosis
283(4)
Of Skin and Bones
287(3)
It's Your Turn!
290(1)
What's Next?
290(1)
Chapter 17 Advanced Lighting
291(18)
Outdoor Scene Lighting
292(5)
Some General Approaches
292(2)
Hemisphere Lighting Model
294(3)
Polynomial Texture Maps
297(4)
Combining BRDF and Bumpmapping
297(2)
Building the Shader
299(2)
Spherical Harmonics
301(5)
The Basic Idea
302(2)
Lighting with Spherical Harmonics
304(2)
It's Your Turn!
306(1)
Exercise 1: PER-PIXEL SPHERICAL HARMONICS
306(1)
What's Next?
306(3)
Chapter 18 Shadowing
309(18)
The Basics of Shadows
310(2)
Shadow Mapping
312(8)
Shadow Volumes
320(5)
Taking Advantage of the Hardware
323(2)
It's Your Turn!
325(1)
Exercise 1: SOFT SHADOW MAPPING
325(1)
What's Next?
326(1)
Chapter 19 Geometry Tricks
327(14)
Level of Detail
328(8)
Static LOD
328(3)
Progressive LOD
331(3)
Re-Creating Lost Details
334(2)
Displacement Mapping
336(1)
It's Your Turn!
337(1)
Summary
337(1)
What's Next?
338(3)
PART V APPENDIXES 341(126)
Appendix A High-Level Shader Language Reference
343(36)
Data Types
344(3)
Scalar Types
344(1)
Vector Types
344(1)
Matrix Types
345(1)
Structure Types
346(1)
Predefined Types
346(1)
Typecasts
347(1)
Variables
348(1)
Statements
349(1)
Expressions
349(1)
Functions
349(30)
User-Defined Functions
351(1)
Built-In Functions
352(27)
Appendix B RenderMonkey Version 1.5 User Manual
379(24)
Installation
380(1)
Requirements
380(1)
Installing RenderMonkey
381(1)
Using RenderMonkey
381(20)
Application Toolbar
381(1)
Application Menu
382(3)
Workspace View
385(9)
Application Preferences
394(1)
Modules
395(6)
Where Do We Go from Here?
401(2)
Appendix C What's on the CD
403(4)
Source Code
403(1)
RenderMonkey
404(1)
High Resolution Illustrations
404(1)
DirectX 9.0 SDK
404(1)
NVIDIA Texture Library
404(1)
NVIDIA Photoshop Plug-In
405(2)
Appendix D Exercise Solutions
407(44)
Appendix E Shader Library
451(16)
Basic Components
451(2)
Object Transformation and Projection
451(1)
Basic Texturing
452(1)
Color Modulation
452(1)
Depth Encoding and Decoding
452(1)
Screen Effects
453(4)
Rendering to a Full Screen Quad
453(1)
Color Matrix
454(1)
Basic Filtering Pixel Shader
454(1)
Box Blur Filter
455(1)
Gauss Blur Filter
455(1)
Edge Detection Filter
456(1)
Lighting
457(1)
Diffuse Lighting
457(1)
Specular Lighting
457(1)
Tangent Space Lighting
458(4)
Per-Pixel Bumpmapping
459(1)
Polynomial Texture Mapping
460(1)
Spherical Harmonics
461(1)
Reflection and Refraction
462(1)
Reflection
462(1)
Refraction
462(1)
Materials
462(5)
Velvet
463(1)
Oren-Nayer Lighting
463(1)
Basic Perlin Noise
464(1)
Marble and Wood Noise Materials
465(2)
Index 467

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