CS 184: COMPUTER GRAPHICS
Lecture #1 -- We 1/20, 1999.
PREVIOUS
< - - - - > CS
184 HOME < - - - - > CURRENT
< - - - - > NEXT
Preparation:
Skim Ch1 of Foley et.al
Show up in class !
Lecture Topics
What is Computer Graphics
Significance of Computer Graphics - Why take CS184
WHY DO YOU WANT TO TAKE A COURSE IN COMPUTER GRAPHICS ?
Increase bandwidth between humans and computer.
Present information rather than data, functions rather than numbers,
shapes rather than equations ==> more relevant form of information.
Help to visualize things: new buildings, car bodies,
Help to model things: flow around wing, stresses in a molded part.
State of the Art in Computer Graphics
Selected slides from SIGGRAPH
Course goal: to understand how these were done.
Course Coverage
Three main themes:
Methods for geometrical modeling:
Conceptual ways to assemble complicated scenes;
data structures; mathematical intro to curved surfaces.
Basic operation and organization of a rendering system:
From object descriptions in terse but user-oriented language to a picture
on the screen.
Interaction techniques:
Grab things, make them move, animation of 3D objects, and of articulated
objects, such as robots..
Course Organization
Textbook:
Foley...Hughes (=Encyc, Bible of CG)
We cover about 1/3 of book in a non-monotonic manner.
Lecture covers key concepts. Make sure you follow on the spot ! Don't
delay till exam-time.
I will try to motivate you about the importance of certain key concepts,
and try to provide some high-level connections between topics covered
in different places in the book.
Main Theme and Teaching Technique:
"Learning by doing !" --> we will BUILD things.
List of Lab assignments.
We will orient ourselves by constructing a complete rendering system
from scratch
(actually re-build an existing, well-designed system piece by piece.)
Tentative
Outline / Syllabus
The Lab sequence pretty much determines the sequence of topics covered
in lecture.
"Good behavior":
Come on time, please. <Eating in back-rows only and very discretely>.
Discussion Sessions:
Repeat class material at a more detailed technical level, so you can implement
some of the algorithms;
discuss data structures, organizational hints.
Experienced TA's: Alex Berg and Jordan Smith.
We assume you know how to program in C++; TA's are not supposed to
debug your code.
We will answer questions at the algorithmic level. Use graphical
debugging (piece by piece)!
Lab Work:
Significant amount of programming in C, C++, in the context of a large
set of C++ libraries.
Graphics API is OpenGL.
"OpenGL Programming Guide." Recommended for your lab work. --
some of info may be on line.
First programming assignment to be done on your own;
then do lab work in pairs -- changing partners each week for about
3-4 weeks;
then settle on one partner for rest of course and final project.
Policy on working alone or together: Share ideas, but not code
! Honor system!
Exams:
For feedback to us (and forcing function to you) : quizzes and exams: W
4, 8, 11, 16.
Fairly absolute grading (enough experience from previous courses) -->
no competition.
Should you take this course ?
see SELF-TEST FORMS on back of INFO-SHEET
This course will demand work and a good deal of C-programming - but
it will be rewarding.
It is not a filler course, but needs a committment. (Don't take it
simultaneously with cs152 ! )
In 2nd week you will obtain a modeling/rendering framework SLIDE (X000
lines of C++).
You need to understand the basic structure of it, so you can integrate
your own work into it.
During the duration of the course and project, you will add a couple
of thousand lines of code yourself.
You also lso need to learn OpenGL, the graphics language/API
Do the self-test at home. (OK to look in a book). Find out whether you
are ready.
Ask yourself whether you have the time: 10-15 hrs on top of class.
Who is in this course ?
I don't controll admission. For fairness this is handled according
to the Computer
Science Enrollment Policy
posted on the web. For questions contact: Jo Davis in 379 Soda and
by Mike Clancy 781 Soda.
Currently 70 enrolled thru telebears, 26 on waiting list, some "gate
crashers" in the audience.
Not everybody present seems to have taken prerequisite courses -->
Those are not yet in the course.
Need to fill out green appeals form to get back in. People on
wait list also need to fill out such a form.
M. Clancy tells me he plans to let between 80 and 90 with proper credentials
into course.
This will take until end of next week to settle. But we need to get
started full speed.
Please fill out the BACKGROUND QUESTIONNAIRE.
This is our own system to build a tentative class list.
Trade in the filled-out form (and a possibly the appeals form) in the
discussion sessions on Monday
for a class account and for access to our labs 330 Soda and 349 Soda.
When we finally get the information on who got admitted to course,
we will remove all other accounts
and names from the key card list.
Use, Goals, Future of Computer Graphics ...
Read Foley: Ch 1; skim Ch 14.1 - 14.6.
Read about scope and history of CG.
Graphics Output/Display Hardware
There are two main classes of devices:
Calligraphic Devices:
Its most important representative is the Line-drawing
CRT
Others are:
Pen plotter [FIG.4.5]
Laserbeam deflector (as in planetarium show)
Direct-view storage tube (DVST).
Raster Devices:
The most important one is the Color
frame buffer
Others are:
Array of light bulbs (active)
Array of black/white disks that can flip (passive)
Plasma panel (active)
Liquid crystal display
- - passive: control reflectance or transmittance
- - active: put a light source behind it.
Electroluminescent displays
Electrofluorescent displays
Electrochromatic displays
Impact dot matrix printer
Inkjet printer
Laser + electrostatic printer
Read Ch 4.2 "Display Technologies" + Ch 4.3.1 "Simple Raster Display
System"
(rest of Ch 4.3 - 4.5 is beyond scope of this course).
New Homework Assignment:
Will be assigned and discussed on Monday
DUE: Monday 2/1/99, 11:59pm.
Next Reading Assignment:
Foley: study Ch 1 ; skim Ch 14.1-14.6
--> Next
Lecture
<-- Up to CS
184 HomePage
Page Editor: Carlo H. Séquin