Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 860 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
860
Dung lượng
9,99 MB
Nội dung
DRAFT (4 November 2003) — Do Not Distribute c 2003 Matt Pharr and Greg Humphreys [...]... Film Filter Sampler ToneMap Material Light SurfaceIntegrator VolumeIntegrator VolumeRegion [Ch 1 Directory shapes/ accelerators/ cameras/ film/ filters/ samplers/ tonemaps/ materials/ lights/ integrators/ integrators/ volumes/ Section 3.1 4.1 6.1 8.1 7.7 7.3 8.3 10.2 13.1 16 16 12.3 Figure 1.1: lrt supports twelve types of plug-in objects that are loaded at runtime based on which implementations of... initialize sample Allow integrators to do pre-processing for the scene Get all samples from Sampler and evaluate contributions Clean up after rendering and store final image } ¢ £¡ ¡ ¡ ¡ ¡ Before rendering starts, this method allocates a Sample object for the Sampler to use to store sample values for each image sample Because the number and types of samples that need to be generated for each image... doesn’t contribute to reflection The VisibilityTester encapsulates the 27 479 state needed to record which ray needs to be traced to do this check (In a similar manner, the attenuation along the ray to the light source due to participating media is ignored until explicitly evaluated via the Transmittance() method.) To evaluate the contribution to the reflection due to the light, the integrator multiplies... scattered from the light direction to the outgoing direction along the ray This represents this light’s contribution to the reflected light in the integral over incoming directions, which is added to the total of reflected radiance stored in L After all lights have been considered, the integrator has computed total reflection due to direct lighting: light that arrives at the surface directly from emissive... programming projects that add new features to the system xiv Preface The basic foundations for physically -based rendering are the laws of physics and their mathematical expression lrt was designed to use the correct physical units and concepts for the quantities that it computes and the algorithms it is built from When configured to do so, lrt can compute images that are physically correct; they accurately... integrators, Sample constructor takes pointers to them so that they can inform the Sample object about their sample needs See Section 7.3.1 for more information about how integrators request particular sets of samples at this point Allocate and initialize sample Sample *sample = new Sample(surfaceIntegrator, volumeIntegrator, this); ¢ £¡ The only other task to complete before rendering can begin is to. .. scene from the light sources to the primitives in order to compute how much light arrives at the film plane at image sample positions Their name comes from the fact that their task is to evaluate the value of an integral equation that describes the distribution of light in an environment SurfaceIntegrators compute reflected light from geometric surfaces, while VolumeIntegrators handle the scattering from. .. objects, which are defined in Chapter 12 Both types of integrators are described and implemented in Chapter 16 Scene Data SurfaceIntegrator *surfaceIntegrator; VolumeIntegrator *volumeIntegrator; Camera Light Material Primitive Shape SurfaceIntegrator vector VolumeIntegrator VolumeRegion ¢ ¡¡ 10 Figure 1.3: Class relationships for main rendering loop, which is in the Scene::Render() method in core/scene.cpp... so-called photorealistic rendering, which can be defined variously as the task of generating images that are indistinguishable from those that a camera would capture taking a photograph of the scene, or as the task of generating an image that evokes the same response from a human observer when displayed as if the viewer was looking at the actual scene There are many reasons to focus on photorealism Photorealistic... same results as another physically based renderer, there is certainly an error in one of them Finally, we believe that this physicallybased approach torendering is valuable because it is rigorous When it is not clear how a particular computation should be performed, physics gives an answer that guarantees a consistent result Efficiency was secondary to these three goals Since rendering systems often . interest even to experienced practitioners in rendering. We hope that it will also be useful for this audience to see one way to organize a complete non-trivial rendering system. lrt is based on the. features to the system. xiv Preface The basic foundations for physically -based rendering are the laws of physics and their mathe- matical expression. lrt was designed to use the correct physical. discussing its implementation, we hope to convey some hard-learned lessons from some years of rendering research and development. There is more to writing a good renderer than stringing together a