1 / 21

Computer Graphics

Computer Graphics Coms 385 Fall 2003 Introduction Lecture 1 Wed, Aug 27, 2003 The Syllabus Syllabus.html Introduction What are the goals of computer graphics? Realism Information Art In this course, we will most often be concerned with realism. Introduction

Gabriel
Télécharger la présentation

Computer Graphics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Graphics Coms 385 Fall 2003

  2. Introduction Lecture 1 Wed, Aug 27, 2003

  3. The Syllabus • Syllabus.html

  4. Introduction • What are the goals of computer graphics? • Realism • Information • Art • In this course, we will most often be concerned with realism.

  5. Introduction • The main application areas of computer graphics. • Scientific imaging. • Computer games. • Movies.

  6. Introduction • What are the goals of this course? • To learn the principles of computer graphics. • To learn the issues in computer graphics. • To apply these principles in programs using the OpenGL graphics library.

  7. Introduction • What are not the goals of this course? • To learn OpenGL. • To create complicated data structures. • To learn complicated mathematics.

  8. Introduction • Nevertheless, we will • Learn OpenGL. • Create complicated data structures. • Learn complicated mathematics. • But we will try to keep the second two to a minimum in your programs.

  9. Introduction • What else are not the goals of this course? • To use graphics packages to create graphics (without programming). • Adobe Photoshop. • Maya. • We will learn to program the graphics. • In other words, this is a programming course.

  10. Computer Prerequisites • C++ programming (Coms 261) • Data structures (Coms 262)

  11. Mathematics Prerequisites • Some calculus, maybe. • Some linear algebra. • Vectors • Matrices • We will introduce the necessary mathematics on a need-to-know basis. • A high-school-level knowledge of these topics will probably be sufficient.

  12. Programming Style • Rendering a scene can be computationally intensive. • Yet, for satisfactory animation the scene must be rendered in less than 1/60 sec. (Why?) • Therefore, we place a premium on program efficiency.

  13. Programming Style • This permits us to do things that otherwise might be considered poor programming style. • When deciding how to implement a function, we will choose the method that will execute the fastest, even if it is a bit more complicated or a bit less intuitive than other methods.

  14. Programming Style • We will make generous use of global variables to reduce the number of function parameters passed. • Consequences • Most functions will return void. • Most functions will have few, if any, parameters. • Functions will have “side effects.”

  15. Programming Style • When creating C++ classes, we will often make data members public. • Then we can access them directly without going through inspectors or mutators.

  16. Programming Style • HOWEVER! • Whenever we violate good programming guidelines, we should be able to justify it in terms of program efficiency.

  17. Chapter 1 Introduction to Computer Graphics

  18. Raster Displays • A raster display consists of a rectangular array of picture elements, called pixels. • Each pixel emits a single color. • The color of each pixel is stored in the framebuffer. • The image rendered is the combined effect of these pixels.

  19. Rasterized Lines • A rasterized line appears as a series of pixels in grid positions. • This can produce “the jaggies.”

  20. The Jaggies • For which lines are the jaggies most obvious? • For which lines are the jaggies least obvious? • Antialiasing reduces the effect of the jaggies.

  21. Examples • HSC Display.cpp • FunctionPlotter.exe

More Related