E-Book Overview
This introduction to 3D computer graphics emphasizes fundamentals and the mathematics underlying computer graphics, while also covering programming techniques using OpenGL, a platform-independent graphics programming environment. The minimal prerequisites make it suitable for self-study or for use as an advanced undergraduate or introductory graduate text as the author leads step-by-step from the basics of transformations to advanced topics such as animations and kinematics. Accompanying software, including source code for a ray tracing software package, is available freely from the book's web site.
E-Book Content
This page intentionally left blank Team LRN 3-D Computer Graphics A Mathematical Introduction with OpenGL This book is an introduction to 3-D computer graphics with particular emphasis on fundamentals and the mathematics underlying computer graphics. It includes descriptions of how to use the cross-platform OpenGL programming environment. It also includes source code for a ray tracing software package. (Accompanying software is available freely from the book’s Web site.) Topics include a thorough treatment of transformations and viewing, lighting and shading models, interpolation and averaging, B´ezier curves and B-splines, ray tracing and radiosity, and intersection testing with rays. Additional topics, covered in less depth, include texture mapping and color theory. The book also covers some aspects of animation, including quaternions, orientation, and inverse kinematics. Mathematical background on vectors and matrices is reviewed in an appendix. This book is aimed at the advanced undergraduate level or introductory graduate level and can also be used for self-study. Prerequisites include basic knowledge of calculus and vectors. The OpenGL programming portions require knowledge of programming in C or C++. The more important features of OpenGL are covered in the book, but it is intended to be used in conjunction with another OpenGL programming book. Samuel R. Buss is Professor of Mathematics and Computer Science at the University of California, San Diego. With both academic and industrial expertise, Buss has more than 60 publications in the fields of computer science and mathematical logic. He is the editor of several journals and the author of a book on bounded arithmetic. Buss has years of experience in programming and game development and has acted as consultant for SAIC and Angel Studios. Team LRN Team LRN 3-D Computer Graphics A Mathematical Introduction with OpenGL SAMUEL R. BUSS University of California, San Diego Team LRN Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, São Paulo Cambridge University Press The Edinburgh Building, Cambridge , United Kingdom Published in the United States of America by Cambridge University Press, New York www.cambridge.org Information on this title: www.cambridge.org/9780521821032 © Samuel R. Buss 2003 This book is in copyright. Subject to statutory exception and to the provision of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press. First published in print format 2003 - - - - - - eBook (NetLibrary) - - - eBook (NetLibrary) - - - - - - hardback - - - hardback Cambridge University Press has no responsibility for the persistence or accuracy of s for external or third-party internet websites referred to in this book, and does not guarantee that any content on such websites is, or will remain, accurate or appropriate. Team LRN To my family Teresa, Stephanie, and Ian Team LRN Contents Preface I page xi Intro