Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Physically Based Rendering: From Theory to Implementation [Hardcover]

Matt Pharr , Greg Humphreys

Price: CDN$ 89.71 & FREE Shipping. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 2 to 5 weeks.
Ships from and sold by Amazon.ca. Gift-wrap available.
There is a newer edition of this item:
Physically Based Rendering: From Theory To Implementation Physically Based Rendering: From Theory To Implementation
CDN$ 110.19
In Stock.
Join Amazon Student in Canada


Book Description

Aug. 4 2004 012553180X 978-0125531801 1
"Computer graphics, and rendering in particular, is full of beautiful theory. The theory covers physical concepts, such as light fields and the interaction of light with different materials, and mathematical concepts, such as integral equations and Monte Carlo integration. The great thing about computers is that they allow us to build rendering systems based on the best theory. This book turns the theory of image-making into a practical method for creating images." —from the foreword by Pat Hanrahan, Canon USA Professor, Stanford University

From movies to video games, computer-rendered images are pervasive today. Physically Based Rendering introduces the concepts and theory of photorealistic rendering hand in hand with the source code for a sophisticated renderer. By coupling the discussion of rendering algorithms with their implementations, Matt Pharr and Greg Humphreys are able to reveal many of the details and subtleties of these algorithms. But this book goes further; it also describes the design strategies involved with building real systems—there is much more to writing a good renderer than stringing together a set of fast algorithms. For example, techniques for high-quality antialiasing must be considered from the start, as they have implications throughout the system. The rendering system described in this book is itself highly readable, written in a style called literate programming that mixes text describing the system with the code that implements it. Literate programming gives a gentle introduction to working with programs of this size. This lucid pairing of text and code offers the most complete and in-depth book available for understanding, designing, and building physically realistic rendering systems.

* Winner of an Honorable Mention in the Computer and Information Science category from The Professional and Scholarly Publishing Division (PSP) of the Association of American Publishers (AAP)
* Finalist for the 15th Annual Jolt Awards
* Companion CD-ROM includes the source code for a complete rendering system for Windows, Mac OS X, and Linux—with many of the features found in high-quality commercial systems.
* The system's plug-in architecture makes its basic structure transparent and allows for new features to be added easily.
* The rendering system implements a number of newer or difficult-to-implement algorithms and techniques, including subdivision surfaces, Monte Carlo light transport, and volumetric scattering.

Special Offers and Product Promotions

  • Join Amazon Student in Canada


Customers Who Bought This Item Also Bought


Product Details


Product Description

Review

"I think this book is great. It's state-of-the-art, and covers the area from soup to nuts and with more depth than any other book I know." —Eric Haines, Autodesk Inc.

Book Description

The most complete guide to rendering—in both concept and code

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 5.0 out of 5 stars  8 reviews
57 of 59 people found the following review helpful
5.0 out of 5 stars Six stars out of five Nov. 15 2004
By MrZ - Published on Amazon.com
Format:Hardcover
Although it is not possible here, I am fairly sure this book deserves such rating. This is truly remarkable work and is likely to become a classic text in the field of computer graphics.

It is not a survey-type book, instead of trying to describe every possible method out there, the authors have concentrated on a few selected techniques, that are not only good (modern, fast, easy to implement, etc.), but also have some pedagogical merits and can serve as a gentle introduction to the world of ray tracing and digital image synthesis. Despite focusing on selected areas, the authors managed to squeeze here in an amazing amount of material. Among other topics, this book covers: subdivision surfaces, ray-primitive intersection acceleration techniques (3D DDA and kd-tree), color and radiometry, anti-aliasing, tone mapping, physically based reflection models, texture mapping (including texture anti-aliasing using ray differentials), area lights and HDR Image Based Lighting, volume scattering and much more.

A large part of the book has been devoted to the light transport and Monte Carlo techniques. One can find there an introduction to the theory of Monte Carlo estimation (including selected methods for reducing variance and computation time, like Russian roulette, multiple importance sampling or stratified sampling) and explanation of important light transport equations (rendering and transfer equations).

Finally the authors have described (and implemented) several solutions for the rendering equation: Whitted-style recursive ray tracing, direct illumination estimation, path tracing, irradiance caching and photon mapping.

However, it is not only the vastness of the material covered in this book, that causes this volume should be praised so highly. Perhaps, the style, in which this book has been written, is even more impressive. For each of the topics, the authors start with what is usually known as "dry math and theory", and then show how it is supposed to work as an algorithm (including its dirty details) and finally they explain how to turn this algorithm into C++ code. Each of those transitions concentrates on a small portion of the problem, so it is still easy to understand. Anyone, who had to turn a SIGGRAPH paper into something that works, will immediately recognize what kind of gem this book is - it actually shows how to do it!

This brilliant blend of theory and practice is one of its brightest spots, for learning the theory and math formulas is one thing, but writing a working, robust implementation is completely another.

Those, who prefer studying sources, will get source code of a very good, physically based, extensible ray tracer (called pbrt) with the best documentation one could ever imagine. Documentation that gives the rationale for almost every line of code. It shows not only how they did it, but also why they did it that way.

It is not the only book, that one will ever need - computer graphics is a vast topic - too big to be covered in a single volume, even as huge as this one. However, it is certainly one of the books that everyone interested in photorealistic rendering should buy. The price of this book is really low, if you think about it as of an excellent, first-rate computer graphics course.

Aimed at students, researchers and people interested in computer graphics algorithms, it is an indispensable book for anyone willing to write his own photorealistic (not necessarily physically based!) ray tracer and learn more about computer image synthesis.
21 of 22 people found the following review helpful
5.0 out of 5 stars Simply the best on modern rendering algorithms and code Nov. 23 2005
By calvinnme - Published on Amazon.com
Format:Hardcover
This book mixes detailed algorithm descriptions with actual code in a book that never loses sight of the "big picture" of physically based ray tracing and image synthesis. Although it is very well written and is not a dry academic book at all, it would help if the reader is already familiar with basic computer graphic techniques, linear algebra, calculus, and optics in order to get the most out of this book. It was never meant to be a replacement for Foley & Van Dam's classic book on computer graphics, even though the first few chapters go over basic computer graphic material. The book includes a website where the source code of the authors' renderer can be downloaded. This code is very well organized and commented so that if you wish to lift individual pieces from the entire software package you can with just a little bit of work. I highly recommend this book to the programmer who wishes to implement physically based rendering in his/her own code or wants to know about the practical implementation of image synthesis techniques. Amazon does not show any details about the book here, so I shall explain the contents in the context of the table of contents:
CHAPTER 01. INTRODUCTION
This chapter talks briefly about all kinds of topics related to ray tracing. It also talks about how to understand the code in the book and the book website.
CHAPTER 02. GEOMETRY AND TRANSFORMATIONS
This chapter is pretty basic computer graphics stuff. It talks about coordinate systems, vectors, arithmetic, scaling, dot and cross products,etc. Applying transformations via matrices is also discussed as well as the representation of points, vectors, normals, rays, and bounding boxes.
CHAPTER 03. SHAPES
More basic computer graphics continues with discussions on spheres, differential geometry, cylinders, and disks, paraboloids, triangles and meshes, and the representation and bounding of all of these shapes.
CHAPTER 04. PRIMITIVES AND INTERSECTION ACCELERATION
This chapter is about accelerating the speed of your graphics through grid acceleration, tree construction and representation, and object instantiation.
CHAPTER 05. COLOR AND RADIOMETRY
XYZ color system is discussed along with radiometric integrals including integrals over projected solid angles, integrals over spherical coordinates, and integrals over area. Beginning in this chapter the math becomes more advanced.
CHAPTER 06. CAMERA MODELS
Projective camera models are discussed along with orthographic, perspective, and environment camera models. This information will already be familiar to students of computer vision.
CHAPTER 07. SAMPLING AND RECONSTRUCTION
Frequency domain techniques are discussed starting with the Fourier transform and ideal sampling and reconstruction. Also, antialiasing techniques are explained.
CHAPTER 08. FILM AND THE IMAGING PIPELINE
This chapter talks about topics such as luminance, photometry, bloom, and imaging pipeline stages.
CHAPTER 09. REFLECTION MODELS
The various reflection models are discussed including specular, Fresnel, Lambertian, Oren-Nayer disfuse reflection, and the Lafortune model.
CHAPTER 10. MATERIALS
Matte, plastic, bump mapping, and other material effects are explained very well.
CHAPTER 11. TEXTURE
We return to frequency models some in this chapter. The texture sampling rate, filtering functions, and mapping in spherical, cylindrical, and planar form are explained. Procedural textures are also discussed including the famous Perlin noise, marble, and windy waves.
CHAPTER 12. VOLUME SCATTERING
This chapter is considered more advanced material, and discusses volume scattering processes, absorption, emission, in and out scattering, phase functions, exponential density, and volume aggregates.
CHAPTER 13. LIGHT SOURCES
All kinds of light sources are described including point lights, spotlights, texture projection lights, distant lights, area lights, and infinite area lights.
CHAPTERS 14 and 15 both discuss Monte Carlo integration techniques including improving efficiency.
CHAPTERS 16 and 17 are about light transport. The first chapter is about surface reflection and the second is about volume rendering.
CHAPTER 18. SUMMARY AND CONCLUSION includes a design retrospective, a discussion of abstraction versus reality, and design alternatives including triangles only and streaming computation.
APPENDIXES- These include sections on utilities, scene description interface, input file formats, an index of code fragments, an index of classes and their members, and finally an index of identifiers.
14 of 14 people found the following review helpful
5.0 out of 5 stars A Graphics Must Have Nov. 3 2004
By Doug Epps - Published on Amazon.com
Format:Hardcover
This book covers everything you need to know to write a ray tracer with

advanced features like photon mapping, volume scattering, path tracing,

etc. The scope of the material it covers is stunning. It starts from the

basics of topics like 3D geometry and ray/object intersections and then

builds up to explain reflection models, advanced texturing techniques, and

then light transport algorithms.

It has excellent discussions of the theory and underlying math of physical

rendering blended (rather well) with very very useful practical

implementations of the theory. The leap from theory to implementation is

often difficult to do, and to do well or efficiently even more difficult.

(The ray acceleration code alone is worth it's weight in gold.) This is an

indispensable book for anyone who wants to write their own ray tracer or

learn more about the latest techniques used in photorealistic rendering.
6 of 6 people found the following review helpful
5.0 out of 5 stars indispensible May 12 2007
By Manchor Ko - Published on Amazon.com
Format:Hardcover|Verified Purchase
I do ray tracing and GI for a living. When I got started on my ray tracer I was struggling with several basic issues. Even though I tried to locate all the published material on those subject there was still significant gaps. Issues like 'how to shot photons', what about all these 'cosines'. How do you actually implement a kd-tree. I read Shirley's, Jansen's, Glassner's and Advanced Global Illumination and a lot of the older Siggraph papers. PBRT came out just in time to rescue me. It contains the only complete implementation of a photonmap.

It's strong point is a complete running GI engine. However the literate programming style used in the book meant a lot of time I cannot read a subject by itself. The use of abstract interfaces sort of force you to use the class browser to follow the logic. You pretty much have to read it from the beginning. The quality of the code contained goes beyond the usual standard of code published as examples. It contains a rather sophiscated random number generator. Its treatment of LDS plus sampling and recontruction in general is excellent. It is the only source that shows how to implement Li's algorithm to generate random rays to sample a sphere. Same goes for Malley's. Shirley and Chui's concentric sampling method is hidden in the appendix of a old Siggraph paper.

The book also has code to sample and model most of the common light sources. Which is surprisingly non-trivial.

I highly recommend this book but it does require a certain level of commitment to get the most out of this book. The chapters on sampling, ray differential, texture filtering, light transport I consider must reads for all graphics programmer even though you might not be working on ray tracing.
4 of 5 people found the following review helpful
5.0 out of 5 stars Excellent resource - thorough and well-written Aug. 8 2006
By Fletcher Dunn - Published on Amazon.com
Format:Hardcover
I cannot praise this book more than the others already have. The book is about producing high-quality images using raytracing. It basically walks you through the creation of a fully-functional raytracer, discussing all the different algorithms and techniques that are needed along the way.

It's written in the context of their particular implementation of a working raytracer, using the fweb programming/documentation system, where basically the program source and the documentation are written as one document. I've always thought this was academic nonsense as far as writing real code in a production environment, but it turns out to be an EXCELLENT way to write a book or code intended for a learning environment.

This strikes the perfect balance between explaining the theory thoroughly and showing how the ideas can be implemented in a real, functional raytracer. They avoid the trap of many other book that focus on a particular implemention, by not getting too bogged down into pecularities of their system.

The source code itself also stands out as a strong point. There are so many books out there with poorly written and unorganized code that you'd never want to read, much less try to work in. The code is well organized, and the coding style easy to read. It's one of the few books I own that contain source code where I actually read the source code and it added something to my experience. I wish everybody who wrote about programming was actually a decent programmer and not just a mathemiticion.

This book has academic rigor and but also well-written explanations. I'm still learning a lot from it. I expect to refer to it frequently over the next years as we (in the video game industry) take more concepts from raytracers and apply them to real-time graphics, as the processors get more and more powerful.

You probably should not be an absolute newbie when it comes to basic 3D math and things like vectors and basic graphics concepts before buying this book. The authors use some calculus, too, if that scares you off.

Look for similar items by category


Feedback