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