Items related to Interactive Computer Graphics: A Top-Down Approach...

Interactive Computer Graphics: A Top-Down Approach With Opengl - Hardcover

  • 3.76 out of 5 stars
    95 ratings by Goodreads
 
Image Not Available

Synopsis

This introductory text recognizes that beginners learn computer graphics more quickly by doing it. Taking a top-down approach, the book gets you started early writing interesting 3D graphics programs. Each chapter is built around a non-trivial application program. In this programming context, key principles and techniques are explained as needed and in increasing detail.To enable this approach, the book first describes an important application programmer's interface-OpenGL-a graphics library now available on most platforms, from high-end graphics workstations to PCs. This high-level interface, plus a basic knowledge of C programming, allows you to generate complex interactive applications, even applications involving 3D viewing and event-driven input. OpenGL's well-defined architecture also facilitates the book's technical discussions of algorithm implementations.Professor Angel has based this text on his extensive experience teaching computer graphics to students and professionals in computer science, engineering, and other fields. In emphasizing applications programming, his presentation is both practical and enjoyable. At the same time, he covers all the topics required for a fundamental understanding of computer graphics, such as light-material interactions, shading, modeling, curves and surfaces, antialiasing, texture mapping, and compositing, as well as important hardware issues.The four images that appear on this cover are from a computer-generated video created by University of New Mexico students James Pinkerton and Brian Jones, and artists Thomas Keller andJohn Bell. The story of a robot named Ed and his discovery of self, the video was produced with a variety of graphics and robotic software, including OpenGL, Alias, WaveFront, Igrip, and ProEngineer. The images here show Ed in his work cell, the factory where robots work, a flower that Ed finds, and Ed's reassembly. 0201855712B04062001

"synopsis" may belong to another edition of this title.

From the Inside Flap

This book is an introduction to computer graphics, with an emphasis on applications programming. Since I wrote my previous text1, the field has continued to experience enormous growth---a rate of growth that has exceeded most people's expectations, including my own. The recent release of the first feature-length computer-animated movie, the explosion of interest in graphical applications over the Internet, and the increase in graphics capabilities coupled with the reduced costs of both high- and low-end workstations are just a few of the exciting advances that have enhanced students' and professionals' interest in computer graphics.

A Top-Down Approach

These recent advances have reinforced my belief in a top-down, programming-oriented approach to introductory computer graphics. Although many computer-science and engineering departments now support more than one course in the subject, most students will take only a single course.

Such a course is placed in the curriculum after students have already studied programming, data structures, algorithms, software engineering, and basic mathematics. A class in computer graphics allows the instructor to build on these topics in a way that can be both informative and fun. I want these students to be programming three-dimensional applications as soon as possible. Low-level algorithms, such as those that draw lines or fill polygons, can be dealt with later, after students are creating graphics.

John Kemeny, a pioneer in computer education, adapted a familiar automobile analogy to give computer literacy a programming slant: You don't have to know what's under the hood to be literate, he agreed, but unless you know how to program, you'll be sitting in the back seat instead of driving. That same analogy applies to the way we teach computer graphics. One approach---the algorithmic approach---is to teach everything about what makes a car function: the engine, the transmission, the combustion process.

A second approach---the survey approach---is to hire a chauffeur, to sit back, and to see the world as a spectator. The third approach---the programming approach that I have adopted here---is to teach you how to drive, and how to take yourself wherever you want to go. As the old auto-rental commercial used to say, ``Let us put you in the driver's seat.''

Programming with OpenGLTM

The greatest impediment to implementing a programming-oriented course, and to writing a textbook for that course, has been the lack of a widely accepted grapics library or application programmer's interface (API). Difficulties have included high cost, limited availability, lack of generality, and high complexity. The development of OpenGL appears to have resolved most of the difficulties many of us have experienced with other APIs (such as GKS and PHIGS), and with the alternative of using home-brewed software. OpenGL today is supported by most workstation suppliers and is available for most platforms through third-party vendors. It is bundled with MicrosoftWindows NT, and both Microsoft and Silicon Graphics offer implementations for Windows 95. There is also available a free OpenGL version for most systems and an inexpensive LINUX version (see AppendixA.)

A graphics class teaches far more than the use of a particular API, but a good API makes it easier to teach key graphics topics, such as three-dimensional graphics, shading, client--server graphics, modeling, and implementation algorithms. I believe that OpenGL's capabilities and well-defined architecture lead to a stronger foundation for teaching both theoretical and practical aspects of the field, and for teaching about important new capabilities, such as texture mapping and compositing, that, until recently, were not supported in any API.

I switched my classes to OpenGL about 2 years ago, and the results astounded me. By the middle of the semester every student was able to write a moderately complex three-dimensional program that required understanding of three-dimensional viewing and event-driven input. In 15 years of teaching computer graphics, I had never come even close to this result. That class led me to rewrite my previous book from scratch.

This book is a textbook on computer graphics; it is not an OpenGL manual. Consequently, I do not cover all aspects of the OpenGL API, but rather explain what is necessary for mastering this book's contents. I present OpenGL at a level that should permit users of other APIs to have little difficulty with the material.

I have chosen to use the C programming language in this book, rather than C++ or another object-oriented language. There are two reasons for this decision. First, OpenGL is not object-oriented, so using C++ would not add significantly to the presentation, unless I were to insert an object-oriented geometric library between OpenGL and the user. I have not taken this step, despite its appealing features, because it would detract from the graphics and would make the book less accessible to students who are good programmers, but who are unfamiliar with object-oriented languages.

Second my experience with object-oriented graphics has been that object-oriented approaches shield the user from what is going on inside (as they should), whereas, in an introduction to computer graphics, I want readers to be aware of what is happening at the lowest levels. Although the use of computer graphics is a wonderful way to introduce students to object-oriented programming, in my view, an object-oriented approach is not the most effective way to teach graphics to computer science and engineering students.

Intended Audience

This book is suitable for advanced undergraduates and first-year graduate students in computer science and engineering, and for students in other disciplines who have good programming skills. The book also will be useful to many professionals. I have taught approximately 100 short courses for professionals: my experiences with those students have had a great influence on what I have chosen to include in the book.

Prerequisites for the book are good programming skills in C, an understanding of basic data structures (linked list, trees), and a rudimentary knowledge of linear algebra and trigonometry. I have found that the mathematical backgrounds of computer-science, students, whether of undergraduates or of graduates, vary considerably. Hence, I have chosen to integrate into the text much of the linear algebra and geometry that is required for fundamental computer graphics.

Organization of the Book

The book is organized as follows. Chapter 1 overviews the field and introduces image formation by optical devices; thus, we start with three-dimensional concepts immediately. Chapter 2 introduces programming using OpenGL. Although the example program that we develop---each chapter has one or more complete programming examples---is two dimensional, it is embedded in a three-dimensional setting. In chaper 3, we discuss interactive graphics in a modern client--server setting, and develop event-driven graphics programs. Chapters 4 and 5 concentrate on three-dimensional concepts; Chapter 4 is concerned with defining and manipulating three-dimensional objects, whereas Chapter 5 is concerned with viewing them. Chapter 6 introduces light--material interactions and shading. These chapters should be covered in order, and can be done in about 10 weeks of a 15-week semester.

The last four chapters can be read in any order. All four are somewhat open ended, and can be covered at a survey level, or individual topics can be pursued in depth. Chapter 7 surveys implementation. It gives one or two major algorithms for each of the basic steps in the viewing pipeline.

Chapter 8 contains a number of topics that fit loosely under the heading of modeling. These topics range from hierarchical models, such as are used in figure animation, to fractals, to models of surfaces built from data.

Curves and surfaces are discussed in Chapter 9. Finally, Chapter 10 introduces many of the new capabilities that are now supported in graphics hardware and by OpenGL. All these techniques involve working with various buffers. We conclude with a short discussion of aliasing problems in computer graphics.

Programs from the book are included in Appendix A. Programs from the book, as well as alternative versions of these programs, are available over the Internet via anonymous ftp at:

ftp.cs.unm.edu/pub/angel Or at: ftp.aw.com/cseng/authors/angel

I welcome suggestions regarding other supplements that readers would find useful, as well as comments on the book itself:

angel@cs.unm.edu Acknowledgments

I have been fortunate over the past few years to have worked with some wonderful students at UNM. They were the first to get me interested in OpenGL, and I have learned much from them. They include Pat Crossno, Tommie Daniel, Lisa Desjarlais, Lee Ann Fisk, Maria Gallegos, Brian Jones, Thomas Keller, Pat McCormick, Martin Muller, Jim Pinkerton, Dave Rogers, and Dave Vick. Many of the examples in the Color Plates were created by these students.

This book was written during my sabbatical; various parts were written in five different countries. The experience speaks wonders for portable computers and the universality of the Internet. Nevertheless the task would not have been accomplished without the help of a number of people and institutions that made their facilities available to me. I am greatly indebted to Jonas Montilva and Chris Birkbeck of the Universidad de los Andes (Venezuela), to Rodrigo Gallegos and Aristides Novoa of the Universidad Tecnologica Equinoccial (Ecuador), to Long Wen Chang of the National Tsing Hua University (Taiwan), and to Kin Hong Wong and Pheng Ann Heng of the Chinese University of Hong Kong. John Brayer and Jason Stewart at the University of New Mexico, and Helen Goldstein at Addison Wesley Longman, somehow managed to get a variety of items to me, wherever I happened to be.

Silicon Graphics and Apple Computer were generous in making equipment available to me. John Schimpf at Silicon Graphics was a helpful resource with regard to my OpenGL needs. Portable~Graphics, Template Graphics, and Metrowerks were kind enough to provide software so that I could test sample programs on a variety of platforms.

A number of other people provided significant help. I thank Gonzalo Cartagenova, Kathi Collins, Dave Klingler, Chuck Hansen, Mark Henne, Bernard Moret, Dick Nordhaus, Helen Saona, Gwen Sylvan, Carlton van Putten, and Mason Woo. I especially thank Ben Bederson and his class for class testing a draft of this manuscript. The sequence of images at the beginning of the Color Plates are from a project done by four students in that class.

Reviewers of my manuscript drafts provided a variety of viewpoints on what I should include, and on what level of presentation I should use. These reviewers included Hamid Arabnia (University of Georgia), Wayne Carlson (Ohio State University), Norman Chin (Silicon Graphics), Scott Grissom (University of Illinois, Springfield), Dick Phillips (formerly Los Alamos National Laboratories), Tom McReynolds (Silicon Graphics), and Jane Wilhelms (University of California, Santa Cruz). Although the final decisions may not reflect their views---which differed considerably from one another---each reviewer forced me to reflect on every page of the manuscript.

I acknowledge the whole production team at Addison Wesley Longman; these people, in addition to doing their usual great job, took on the additional burden of working with someone who was never in one place for long. My editor, Peter Gordon, was such a pleasure to work with that I am almost sorry the book is done. I am especially grateful to Lyn Dupré. I am not a natural writer. If the readers could see the original draft of this book, they would understand the wonders that Lyn does with a manuscript.

My wife Rose Mary Molnar, did the figures for my previous book, many of which form the basis for the figures in this book. Wisely choosing not to fight over use of our only notebook computer, she was able to preserve our relationship and to contribute in a thousand other ways.

Edward Angel Katmandu, Nepal

About the Author

Edward Angel is professor of computer science and electrical and computer engineering at the University of New Mexico (UNM), where he has also been department chair and graduate advisor. He is the first UNM Presidential Teaching Fellow. Professor Angel holds a Ph.D. from the University of Southern California.0201855712AB04062001

"About this title" may belong to another edition of this title.

  • PublisherAddison-Wesley
  • Publication date1997
  • ISBN 10 0201855712
  • ISBN 13 9780201855715
  • BindingHardcover
  • LanguageEnglish
  • Number of pages521
  • Rating
    • 3.76 out of 5 stars
      95 ratings by Goodreads

Buy Used

Condition: Good
Ship within 24hrs. Satisfaction... View this item

Shipping: FREE
Within U.S.A.

Destination, rates & speeds

Add to basket

Buy New

View this item

Shipping: US$ 37.00
From Chile to U.S.A.

Destination, rates & speeds

Add to basket

Other Popular Editions of the Same Title

Image Not Available

Featured Edition

ISBN 10:  0582831938 ISBN 13:  9780582831933
Publisher: Prentice Hall, 2003
Softcover

Search results for Interactive Computer Graphics: A Top-Down Approach...

Stock Image

Angel, Edward
Published by Addison-Wesley (edition ), 1997
ISBN 10: 0201855712 ISBN 13: 9780201855715
Used Hardcover

Seller: BooksRun, Philadelphia, PA, U.S.A.

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Hardcover. Condition: Good. Ship within 24hrs. Satisfaction 100% guaranteed. APO/FPO addresses supported. Seller Inventory # 0201855712-11-1

Contact seller

Buy Used

US$ 12.94
Convert currency
Shipping: FREE
Within U.S.A.
Destination, rates & speeds

Quantity: 1 available

Add to basket

Stock Image

Angel, Edward
Published by Addison-Wesley, 1997. 0, 1997
ISBN 10: 0201855712 ISBN 13: 9780201855715
Used Hardcover

Seller: Virginia Martin, aka bookwitch, Concord, CA, U.S.A.

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Hardcover. Condition: Good. Small quarto, near fine in brown and orange pictorial boards. Light highlighting else VG. 521 pp. including index. Introductory text gets you started with 3D graphics. Each chapter is built around a nontrivial application program, key principles and techniques are explained in detail. Book. Seller Inventory # 34501

Contact seller

Buy Used

US$ 12.00
Convert currency
Shipping: US$ 5.00
Within U.S.A.
Destination, rates & speeds

Quantity: 1 available

Add to basket

Stock Image

Angel, Edward
Published by Pearson, 1997
ISBN 10: 0201855712 ISBN 13: 9780201855715
Used Hardcover

Seller: WeBuyBooks, Rossendale, LANCS, United Kingdom

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Condition: Very Good. Most items will be dispatched the same or the next working day. A copy that has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains undamaged. Seller Inventory # wbs9806372348

Contact seller

Buy Used

US$ 28.64
Convert currency
Shipping: US$ 9.51
From United Kingdom to U.S.A.
Destination, rates & speeds

Quantity: 1 available

Add to basket

Stock Image

Angel, Edward
Published by Pearson, 1996
ISBN 10: 0201855712 ISBN 13: 9780201855715
Used Hardcover

Seller: Buchpark, Trebbin, Germany

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Condition: Gut. Zustand: Gut - Gebrauchs- und Lagerspuren. Innen: gewellt / Feuchtigkeitsschaden. Aus der Auflösung einer renommierten Bibliothek. Kann Stempel beinhalten. | Seiten: 521 | Sprache: Englisch | Produktart: Bücher. Seller Inventory # 39253755/203

Contact seller

Buy Used

US$ 11.53
Convert currency
Shipping: US$ 51.28
From Germany to U.S.A.
Destination, rates & speeds

Quantity: 1 available

Add to basket

Seller Image

ANGEL
Published by ADDISON WESLEY 0, 1997
ISBN 10: 0201855712 ISBN 13: 9780201855715
New Hardcover

Seller: LIBRERIA LEA+, Santiago, RM, Chile

Seller rating 4 out of 5 stars 4-star rating, Learn more about seller ratings

Dura. Condition: New. Dust Jacket Condition: Nuevo. No Aplica (illustrator). 0. This introductory text recognizes that beginners learn computer graphics more quickly by doing it. Taking a top-down approach, the book gets you started early writing interesting 3D graphics programs. Each chapter is built around a non-trivial application program. In this programming context, key principles and techniques are explained as needed and in increasing detail.To enable this approach, the book first describes an important application programmer's interface-OpenGL-a graphics library now available on most platforms, from high-end graphics workstations to PCs. This high-level interface, plus a basic knowledge of C programming, allows you to generate complex interactive applications, even applications involving 3D viewing and event-driven input. OpenGL's well-defined architecture also facilitates the book's technical discussions of algorithm implementations 1080 gr. Libro. Seller Inventory # 9780201855715LEA7429

Contact seller

Buy New

US$ 36.14
Convert currency
Shipping: US$ 37.00
From Chile to U.S.A.
Destination, rates & speeds

Quantity: 1 available

Add to basket

Stock Image

Angel Edward
Published by Longman Group, 1997
ISBN 10: 0201855712 ISBN 13: 9780201855715
New Hardcover

Seller: Biblios, Frankfurt am main, HESSE, Germany

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Condition: New. pp. 550. Seller Inventory # 1845377141

Contact seller

Buy New

US$ 132.07
Convert currency
Shipping: US$ 11.34
From Germany to U.S.A.
Destination, rates & speeds

Quantity: 1 available

Add to basket