did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780131496705

Computer Graphics Using OpenGL

by ;
  • ISBN13:

    9780131496705

  • ISBN10:

    0131496700

  • Edition: 3rd
  • Format: Paperback
  • Copyright: 2006-12-20
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $206.64 Save up to $95.06
  • Rent Book $111.58
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    USUALLY SHIPS IN 24-48 HOURS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

Supplemental Materials

What is included with this book?

Summary

Updated throughout for the latest developments and technologies, this book combines the principles and major techniques in computer graphics with state-of-the-art examples.Updates treatment of graphics hardware and algorithms. Discusses the development of video games through history. Emphasizes interactive graphics more strongly than in previous editions. Relates examples to things readers see everyday on the Internet and in computer-generated movies. Carefully presents each concept, explains the underlying mathematics, shows how to translate the math into program code, and displays the result.A thorough, useful reference for anyone interested in computer graphics.

Author Biography

F.S. Hill Jr. is a Professor Emeritus of the Electrical and Computer Engineering Department at the University of Massachusetts at Amherst.  He received a Ph. D. degree from Yale University in 1968, worked for 3 years in digital data transmission at Bell Telephone Laboratories, and joined the University in 1970.  He is the author of numerous articles in the field of signal processing, communications, and computer graphics.  He has been editor and associate editor of the IEEE Communications Society magazine.  He is also a fellow of the IEEE.  He is co-author of the book Introduction To Engineering and has won several awards for outstanding teaching.

 

Stephen M. Kelley and Dr. Hill met in 2000 in connection with a National Science Foundation distance learning project.  Since then co-teaching courses in computer graphics at the University of Massachusetts and co-authoring Computer Graphics using OpenGL, 3rd Edition.  Stephen Kelley recently graduated from the University of Massachusetts with a degree in Interactive Multimedia and Computer Graphics along with a minor in Information Technology.  Stephen also runs his own web development and consulting company, Intangible Inc.

Table of Contents

Introduction to Computer Graphics
What is Computer Graphics?
Where Computer Generated pictures are Used
Elements of Pictures created in Computer Graphics
Graphics display devices
Graphics Input Primitives and Devices
Chapter Summary & Exercises
For Further Reading
Getting Started Drawing Figures
Getting started making pictures
Drawing Basic Graphics Primitives
Making Line-drawings
Simple interaction with mouse and keyboard
Summary
Case Studies
For Further Reading
Additional Drawing Tools
Introduction
World Windows and Viewports
Clipping Lines
Regular Polygons, Circles, and Arcs
The Parametric Form of a Curve
Summary
Case Studies
For Further Reading
Vector Tools for Graphics
Introduction
Review of Vectors
The Dot Product
The Cross Product of Two Vectors
Representations of Key Geometric Objects
Finding the Intersection of two Line Segments
Intersections of Lines with Planes, and Clipping
Polygon Intersection Problems
Summary
Case Studies
For Further Reading
Transformations of Objects
Introduction
Introduction to Transformations
3D Affine Transformations
How To Change Coordinate Systems
Affine Transformations used in a Program
To Draw 3D Scenes Interactively with OpenGL
Summary
Case Studies
For Further Reading
Modeling Shapes with Polygonal Meshes
Introduction
Introduction to Solid Modeling with Polygonal Meshes
Polyhedra
Extruded Shapes
Mesh Approximations to Smooth Objects
Particle Systems and Physically Based Systems
Summary
Case Studies
For Further Reading
Three-Dimensional Viewing
The Camera Revisited
To Specify a Camera in a program
Perspective Projections of 3D Objects
To Produce Stereo Views
Taxonomy of Projections
Summary
Case Studies
For Further Reading
Rendering Faces for Visual Realism
Introduction
Introduction to Shading Models
Flat Shading and Smooth Shading
Adding Hidden Surface Removal
To Add Texture to Faces
To Add Shadows of Objects
OpenGL 2.0 & The Shading Language (GLSL)
Summary
Case Studies
For Further Reading
Tools for Raster Displays
Table of Contents provided by Publisher. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

This book provides an introduction to computer graphics for students who wish to learn the basic principles and techniques of the field, and in addition want to write substantial graphics applications themselves. The field of computer graphics continues to enjoy tremendous vitality and growth. The growing number of feature-length animated movies has generated heady excitement about what graphics can do, and the ready access to graphics everyone now has through computer games and the internet is stimulating people to learn how to do it themselves. Graphics systems are getting better, faster, and cheaper at a bewildering rate, and many new techniques are emerging each year from researchers and practitioners around the world, but the underlying principles and approaches comprise a stable and coherent body of knowledge. Much of this knowledge can be acquired through a single course in graphics, and this book attempts to organize the ideas and methods to bring the reader from the beginning with modest programming skills, to being able to design and produce significant graphics programs. Intended audience. This book is designed as a text for either a one- or two-semester course at the senior undergraduate or first-year graduate level. It can also be used for self-study. It is aimed principally for students majoring in computer science or engineering but will also suit students in other fields, such as physics and mathematics. Mathematical background required. The reader should have the equivalent of one year of college mathematics; knowledge of elementary algebra, geometry, trigonometry, and elementary calculus is assumed. Some exposure to vectors and matrices is useful but not essential; vector and matrix techniques are introduced in the context of graphics as they are needed, and an appendix also summarizes the key ideas. Computer graphics tends to use a lot of mathematics to express the underlying geometric relationships between lines, surfaces, and the viewing "eye". Although no single mathematical notion is difficult in itself the number of tools required can be daunting. The book places particular emphasis on revealing the reasons for using this or that technique, and on showing how the objects of interest in a graphics program are properly described by the mathematical objects we use. Computer programming background required. In general, the reader should have at least one semester of experience writing computer programs in C, C++, or Java. A lot of the programming in graphics involves the direct translation of geometric relationships into code, and so uses straightforward variables, functions, arrays, looping, and testing, which is similar from language to language. C++ is used throughout the book, but much of the material will be familiar to someone with only a background in C. It is helpful for the reader to have experience as well in manipulating struct''s in C or classes in C++. These are used to capture the rather complicated structure of some graphical objects that reside in a scene, where the object (say, a castle or an airplane) consists of many parts, and these parts themselves consist of complex subparts. Some experience with elementary linked data structures such as linked lists or trees is also desirable but not essential. A reader with knowledge of C but not C++ will need to pick up the basics of object-oriented programming. We define a number of useful classes (such as the Canvas, Mesh, Scene, Camera, and Texture classes) and show why they are so convenient and usable. Some of the hallmarks of object-oriented programming, such as inheritance and polymorphism, are used in a few contexts to make the programmer''s job easier, but we don''t place inordinate emphasis on a pure object-oriented approach. Philosophy The book has been completely reorganized and rewritten from the first edition but the basic philosophy remains: Computer graphics is learned by doing it. One must write and test real programs to comprehend fully what is going on. A principal goal of the book is to show readers how to translate a particular design "task" first into its underlying geometric components, to find a suitable mathematical representation for the objects involved, and finally to translate this representation into suitable algorithms and program code. Readers first learn how to develop simple routines to produce pictures. Then methods for producing drawings of ever more complex objects are presented in a step-by-step fashion. Exercises and Problems More than 350 practice exercises appear throughout the book. Most of these are of the "stop-and-think" variety that don''t require programming and allow readers to self-test their grasp of the material. Some urge the student to implement some of the new ideas in program code. In addition, over 50 Case Studiesappear at the end of chapters. They are normally programming projects suitable for homework assignments, and range from the simple to the challenging. These exercises expand on the material within their chapter, and often extend ideas in new directions. Whether or not the Case Studies are actually carried out by students, they should be studied as an integral part of the chapter. A suggested "Level of Effort" is associated with each Case Study, to indicate the approximate investment in time a student may need to accomplish the task. Programming is an unpredictable business and students'' abilities vary, but the rough guide is: Level of Effort: I:A simple project that can be implemented in an evening, suitable to be made due at the next class meeting. II:A more extensive project that might be assigned due in a week, so that a student has thinking time for designing the program, and adequate time for the iterative (and sometimes frustrating) testing and debugging cycle that projects always seem to require. III:A major project that might require three weeks of design and implementation effort. Such a project requires substantial design effort and careful program layout, but would (correctly) be viewed as a major accomplishment by the student. The use of OpenGL A frequent stumbling block as one first brushes up against computer graphics is getting started making pictures. It''s often easy enough to write a program, but there must be an underlying tool that ultimately draws the lines and curves on the screen. It''s a boon that such a tool exists and is readily available. OpenGL emerged from Silicon Graphics Inc. in 1992, and has become a widely adopted graphics application programming interface (API). It provides the actual drawing tools through a collection of functions that are called within an application. As described in Appendix 1, it is available (usually through free downloads over the internet) for all types of computer systems encountered in colleges, universities, and industry. It is easy to install and learn, and its longevity as a standard API is being nurtured by the OpenGL Architecture Review Board (ARB), an industry consortium responsible for guiding its evolution. One aspect of OpenGL that makes it so well-suited for use in a computer graphics course is its "device independence" or portability. Many university computer laboratories contain a variety of different computer types. A student can develop and run a program on any available computer. The same program can then be run on a different computer, for testing or grading purposes perhaps, and the graphics will be the same on the two machines. OpenGL offers a rich and highly usable API for 2D graphics and image manipulation, but its real power emerges with 3D graphics. Using OpenGL students can progress rapidly and produce stunning animations in only a single-semester course. The use of C++

Rewards Program