您好,欢迎光临本网站![请登录][注册会员]  
文件名称: An-Introduction-to-Ray-Tracing.pdf
  所属分类: 讲义
  开发工具:
  文件大小: 12mb
  下载次数: 0
  上传时间: 2019-07-14
  提 供 者: myname******
 详细说明:An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-.pdfAn Introduction to Ray Tracing Edited by ANDREW S. GLASSNER Xerox PArc 3333 Coyote Hill Road Palo Alto ca 94304 USA ACADEMIC PRESS Harcourt Brace Jovanovich, Publishers .ondon San Diego New York. Boston Sydney. Tokyo. Toronto Page left intact; the license is now Creative Commons Attribution 4.0 International ( CC BY 4.0) https://creativecommons.org/licenses/by/4.0/ See page 2 of this PdF for details ACADEMIC PRESS LIMITED 24/28 Oval Road, London NW1 7DX United States Edition Published by ACADEMIC PRESS INC San Diego, CA 92101 Copyright 1989 by ACADEMIC PRESS LIMITED Third printing 1990 Reprinted 1991 All rights reserved. No part of this book may be reproduced in any form by photostat, microfilm or any other means, without written permission from the publishers British Library Catalo guing in Publication Data An Introduction to ray tracing 1. Computer systems. Graphic displays. Three-dimensional images I. Glassner. Andrew 006.6 ISBN0-12-286160-4 This book is printed on acid-free paper o ypeset by Mathematical Composition Setters Ltd, Salisbury Printed in Great Britain at the University Press, Cambridge Contributors James Arvo, Apollo Computer Inc, 330 Billerica Road, Chelmsford, MA 01824 USA Robert L, Cook, Pixar, 3240 Kerner Blvd, San RafaeL. CA 94901 USA Andrew S. Glassner, Xerox PARC, 3333 Coyote Hill Road, Palo alto CA 94304, USA Eric Haines, 3D/Eye Inc, 2359 North Triphammer Road, Ithaca, NY 14850,USA. Pat Hanrahan Pixar, 3240 Kerner Blvd. San Rafael, ca 94901, USA Paul S. Heckbert, 508-7 Evans Hall, UC Berkeley, Berkeley, CA 94720 USA David Kirk, Apollo computer Inc. 330 Billerica Road, chelmsford ma 01824,USA.( Current address: California Institute of technology Computer Science 256-80, Pasadena, CA 91125, USA) Contents Contributors Preface 1. An Overview of Ray tracing by Andrew S Glassner 2. Essential Ray Tracing Algorithms by Eric Haines 33 3. A Survey of Ray-Surface Intersection Algorithms by Pat Hanrahan 79 4. Surface Physics for Ray Tracing by Andrew s. Glassner 121 5. Stochastic Sampling and Distributed Ray Tracing by robert L. cook .16 6. A Survey of Ray Tracing Acceleration Techniques by James arvo and david Kirk 20 7. Writing A Ray Tracer by Paul S. Heckbert 263 8. A Ray Tracing Bibliography by Paul S. Heckbert and eric haines 295 9. A Ray Tracing Glossary by Andrew S Glassner 305 Index 323 Preface This is a book about computer graphics, and the creation of realistic images By 'realistic' we mean an image that is indistinguishable from a photograph of a real, three-dimensional scene Of the many computer techniques that have been developed to create images, perhaps the algorithm called ray tracing is now the most popular for many applications. Part of the beauty of ray tracing is its extreme simplicity once you know the necessary background, the whole thing can be summed up in a paragraph This book begins with an introduction to the technique of ray tracing, describing how and why it works. Following chapters describe many of the theoretical and practical details of the complete algorithm Id like to say something about how ray tracing came about in computer graphics, and how this book in particular came to be. Then I'll briefly summarize the various chapters A BIT OF HISTORY Finding a way to create photorealistic images has been a goal of computer graphics for many years. Generally, graphics researchers make progress b first examining the world around them, and then looking at the best computer-generated images made to date. If the computer image doesn't look as good (and even now, it usually doesn't), one asks, 'What's missing from the computer picture?' In the beginning, many features of real scenes were rapidly included in computer-generated images. Some of these improvements were made by noting that opaque objects hide objects behind them, shiny objects have highlights, and many surfaces have a surface texture, such as a wooden grain Methods were developed to include these effects into computer generated scenes, and so those images looked better and better One of the first of these successful image synthesis methods started with an idea from the physics literature. When designing lenses, physicists tradition- ally plotted on paper the path taken by rays of light starting at a light source, then passing through the lens and slightly beyond. This process of following the light rays was called ray tracing Several computer graphics researchers thought that this simulation of light physics would be a good way to create a synthetic image. This was a good idea, but unfortunately in the early 1960s computers were too slow to make images that looked better than those made with other, cheaper image x. Preface synthesis methods. Ray tracing fell out of favor, and not much attention was paid to it for several years As time went by, a flurry of other algorithms were developed to handle all kinds of interesting aspects of real photographs: reflections, shadows, motion blur of fast-moving objects, and so on. But most of these algorithms only worked in special cases, and they usually didn't work very well with each other. Thus you would find a picture with shadows, but no transparency, or another image with reflection, but no motion blur As computers became more powerful, it seemed increasingly attractive to go back and simulate the real physics. The ray tracing algorithm was extended and improved, giving it the power to handle many different kinds of optical ettects Today ray tracing is one of the most popular and powerful techniques in the image synthesis repertoire: it is simple, elegant, and easily implemented There are some aspects of the real world that ray tracing doesnt handle very well(or at all! ) as of this writing. Perhaps the most important omissions are diffuse inter-reflections(e. g. the "bleeding,of colored light from a dull red file cabinet onto a white carpet, giving the carpet a pink tint), and caustics (focused light, like the shimmering waves at the bottom of a swimming pool) Ray tracing may one day be able to create images indistinguishable from photographs of real scenes -or perhaps some other, more powerful algorithm will be developed to take its place. Nevertheless, right now many people feel that ray tracing is one of the best overall image synthesis techniques we've got, and as work continues it will become even more efficient and realistic HOW THIS BOOK CAME TO BE This book is a revised and edited version of reference material prepared for an intensive one-day course on ray tracing. Since this book grew out of the organization and goals of the course. Id like to describe how the course came about, and what we were trying to do with this material In late 1986. I felt that there was a need to have an introductory course on ray tracing at the annual meeting of SIGGRAPH (the Special Interest Group on Computer Graphics, which is part of the ACM, the society of computer professionals). Each year SIGGRAPH mounts a very large conference, covering many aspects of computer graphics. An important part of each SIGGRAPH conference is the presentation of one-day courses. There have been several courses at recent SIGGRAPHS reviewing developments in ray tracing for experts, but I felt that ray tracing had become popular enough that there should be an introductory course Preface I made some phone calls, and gathered together a group of internationally- recognized researchers in the field to present our new course. Our goal from the beginning was to teach to a 'typical SIGGRAPH audience: artists, managers, scientists, programmers, and anyone else who was interested Most siggraph courses include some kind of course notes handed out to attendees. Since part of the reason we were teaching the course was that there was no introductory material available, we decided to write our own. As chairman of the course, I decided to ask everyone to write original high-quality material for our course notes, and happily most of the speakers had the time and energy to do so The course's name was An Introduction To Ray Tracing. It was a great success at SiGGRAPH 87 in Anaheim it was one of the two most heavily-attended courses. The response in 1987 was very good, so we decided to give the course again. With a slightly different cast we repeated the course at SIGGRAPH 88 in Atlanta. We took the opportunity to revise and improve the notes This book is essentially the notes from SIGGRAPH 88, edited and improved. It includes a few things we couldn't get into the notes, or that didn't come across well: color plates, good black-and-white images,a bibliography, and a glossary A QUICK LOOK AT THE CONTENTS As you look over the book, remember that the level of the material varies considerably from chapter to chapter. Some chapters are very basic and assume little background, while others expect you to have some mathematical experience. The more complex chapters are for more advanced study: you can get quite far with just the less mathematical chapters The book begins with 'An Overview of Ray Tracing. This opening chapter assumes little background from the reader. We tell how a synthetic image is produced, and how ray tracing works to create an image. When you're done reading this, you won't be in a position to write a program, but you should be able to understand ray tracing discussions, including most of the other chapters We then discuss Essential Ray Tracing Algorithms. The fundamental operation in any ray tracing program is the intersection of a ray with an object. Because it's such an important step, it is important to understand it clearly. We show how to find the intersection of a ray with several important shapes, and how to write the necessary computer procedures More complicated kinds of objects are discussed in 'A Survey of Ray- Object Intersection Algorithms'. Because more complex shapes have more PI reface complex mathematical descriptions, the math in this section is necessarily more involved. You dont need to understand everything in this chapter to get started in ray tracing: it's more of a springboard to help you move on to more advanced topIcs, once you ve got some momentum To properly compute how rays interact with surfaces, we discuss Surface Physics for Ray Tracing,. This chapter gives a lot of basic information that you'll need to actually get your programs running, including color descrip tions, laws of optics, and surface coloring If you're not careful, computer-generated pictures will contain lots of ugly artifacts that don t belong in a picture, due to the nature of digital computers and the ray tracing process itself. We discuss those artifacts and how to avoid them in "Stochastic Sampling and Distributed Ray Tracing. The material in this chapter will help your pictures avoid nasty artifacts that dont belong in a realistic picture A Survey of Ray Tracing Acceleration Techniques' addresses the issue of speed. The basic ray tracing algorithm is extremely simple, but also extremely slow. It's like saying, To build a sand dune, pick up a grain of sand, and carry it over to where you're building the dune: do this over and over again The instructions are correct, but painfully slow. Lots of research has gone into ways to make ray tracing programs run faster. The bad news is that most of these techniques greatly complicated the basically simple and elegant ray tracing algorithm. The good news is that by using these methods you can make a picture much faster than with straightforward techniques By the time you reach the end of the book, you 'll be ready for hints on Writing A Ray Tracer. Writing a program is usually greatly simplified if you have a plan of attack, or a structure for building the various pieces and describing their interconnections. In this chapter we give a good organization for a ray-tracing program that is both simple to build and easy to extend. The concepts are illustrated with sample code in the C programming language Where can you go for more information? Well, each chapter in the book comes with its own bibliography, keyed to the material in that chapter. If you want more, then you can consult the Ray Tracing Bibliography If you forget the meaning of a word, you can probably find it in 'A Ray Tracing Glossary. Here we give definitions for most of the important terms used in this book, plus some other terms that you might find in the literature Some of the entries are illustrated, since after all this is a book on graphics ACKNOWLEDGEMENTS The SIGGRAPH course and this book represent the combined efforts of many people. Thanks to Mike and Cheri Bailey, who together administered the
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: