First Things First This is 4003-571 / 4005-762 Welcome to Computer - - PDF document

first things first
SMART_READER_LITE
LIVE PREVIEW

First Things First This is 4003-571 / 4005-762 Welcome to Computer - - PDF document

First Things First This is 4003-571 / 4005-762 Welcome to Computer Graphics II (Computer Graphics II) I am Joe Geigelyour host! Plan for this evening Logistics Logistics The LDAP database Be sure that your e-mail


slide-1
SLIDE 1

1

Welcome to Computer Graphics II

First Things First

  • This is 4003-571 / 4005-762

– (Computer Graphics II)

  • I am Joe Geigel…your host!

Plan for this evening

  • Logistics
  • What is this course about?
  • Requirements for course
  • But first…

– Student Information Forms

Logistics

  • The LDAP database

– Be sure that your e-mail is correct.

Logistics

  • Course Web Site:

– http://www.cs.rit.edu/~jmg/cgII

  • Everything you need to know

– Syllabus – Projects – Assignments – Schedules – Reading List – Diary

Logistics

  • Course Web Site:

– http://www.cs.rit.edu/~jmg/cgII

  • Contact:

– office hours: MW 2-4 or by appt. – Office: 70 (GCCIS) Rm 3527 – e-mail: jmg@cs.rit.edu – phone: 475-2051

  • Slides:

– Will be available (in B&W – PDF) on Web site.

slide-2
SLIDE 2

2

Logistics

  • Prerequisite – one of the following:

– Computer Graphics 1(CS 570/761) – Foundations of 3D Graphics Programming (IT 502) – 3D Graphics Programming (IT 735)

  • Warning:

– Heavy Programming Load.

What is this course about? What is this course about?

  • Image Synthesis using Computer Graphics:

– Creating renderings of virtual worlds – Parallels between CG and photography. – Lectures -> theory – Assignments -> implementation – Projects -> Creative Design

What is this course about?

pho•tog•ra•phy, n., the process or art of producing images of objects by the action of light on a sensitized surface, esp, a film in a camera.

Photography = writing with light Process of Creating Images

scene Viewing window light

Direct light Reflected light

Images are a view of the world from a given perspective

What is this course about?

camera synthetic image camera model

processing

photo processing tone reproduction real scene 3D models Photographic print Photography: Computer Graphics:

slide-3
SLIDE 3

3

What is this course about?

Modeling

Illumination

Capture

Tone Reproduction 3D Scene Description simulated light transport in virtual 3D space 2D array of captured scene illuminances Digital image suitable for display

3D Object Coordinates 3D World Coordinates 3D Eye Coordinates 3D Eye Coordinates 2D Eye Coordinates 2D Screen Coordinates Object Transformation Viewing Transformation 3D Clipping Projection Window to Viewport Mapping

camera synthetic image camera model

processing

photo processing tone reproduction real scene 3D models Photographic print Photography: Computer Graphics:

Objects and Transformations Procedural Modeling Scene Description Languages

camera synthetic image camera model

processing

photo processing tone reproduction real scene 3D models Photographic print Photography: Computer Graphics: camera synthetic image camera model

processing

photo processing tone reproduction real scene 3D models Photographic print Photography: Computer Graphics:

Perspective Sampling Theory Camera Models

Light and Color Local Illumination Shading/Material Properties Shading Models Procedural Shading (RenderMan) Texture Mapping Global Illumination Ray Tracing Radiosity Advanced Rendering Systems

camera synthetic image camera model

processing

photo processing tone reproduction real scene 3D models Photographic print Photography: Computer Graphics: camera synthetic image camera model

processing

photo processing tone reproduction real scene 3D models Photographic print Photography: Computer Graphics:

Tone Reproduction

slide-4
SLIDE 4

4

Goal of the course

  • Master the basic rendering pipeline.

– Identify where to “plug-in” algorithms and techniques – Programming Assignments

  • Illustrate depth in advanced method of your

choice

– Project

Grading

  • Assignments
  • Projects
  • Reading of CG Literature (graduate only)

Grading

Extra Credit 20% Readings 50% 40% Project 50% 40% Assignments Undergrad Graduate

Lectures

  • Conceptual

– Basic idea

  • Technical

– Details including what you’ll need to know for assignments.

  • Advanced

– Overview of advanced tecniques – Fodder for projects

Assignments

  • Weekly Programming Assignments:

– Ray-tracing

  • 7 submissions

– Procedural Shaders using RenderMan

  • 1 submission

Assignments

  • Can use the language / toolkit / API of your

choice

– OpenGL – DirectX – Java3D / Java2D / JAI – URT / ppm

  • Can work in groups of 2 (but not required)

– Each team member will receive the same grade

slide-5
SLIDE 5

5

Assignments

  • Code should readable

– Well documented – Use style guidelines of CS2/3/4

  • Deliverables

– Web site! – Code – Images

Assignments

  • Grading

– Each assignment is worth 10 points (7) – RenderMan assignment worth 25 points – Final code submission worth 5 points. – Total 100 points

Assignment

  • Posting Dates

– See SCHEDULE and ASSIGNMENTS on Web site for posting / due dates

  • Late policy

– 10% penalty for each day late! – Having trouble keeping up? See me well before due date.

Reading of CG Literature

  • Grad only

– Undergrads encouraged but not required.

  • To familiarize yourself with the CG literature
  • Each lecture will have a list of papers associated

with it.

– Papers available from READING LIST section of Web site

  • Some on electronic reserve
  • Username / Password in FILES section of mycourses.

Reading of CG Literature

  • Each class:

– Choose 1 paper from list and summarize – Summary

  • 1-2 pages
  • Basic idea presented in the paper
  • How the topic fits in with the CG pipeline
  • Personal critique

– Was the paper well written / understandable – Did you care for the topic presented – Did you like the work as a whole – Other comments

Reading of CG Literature

  • Summaries

– Due at the start of each lecture – No late submissions, please! – Grading

  • √+
  • √-
slide-6
SLIDE 6

6

Reading of CG Literature

  • Have a favorite related CG paper not on the

list? Let me know.

  • Acceptable sources

– SIGGRAPH Proceedings – Communications of the ACM – ACM Transactions on Graphics – IEEE Computer Graphics & Applications. – Others? See me first.

Reading of CG Literature

  • Questions so far
  • Break before discussing projects?

Projects

  • Purpose of the project

– Hands on experience with image synthesis – Provide the opportunity to gain expertise using 3D API or rendering system – Study an aspect of the image synthesis pipeline, in depth

Projects

  • Requirement 1:

– Must involve creation of a 3D scene using 3D API or renderer

  • Static – Final result of project is a single rendered image.

(Using a renderer such as POV or Radiance).

  • Application – Use a 3D API to create an application involving

a 3D scene

  • Web based – Use a Web based 3D scene description

mechanism (e.g. VRML) to allow for viewing/interaction with a 3D scene using the Web

Projects – Static Rendering

Renderer

Shaders 3D Scene Description Texture Map

Projects – Renderers

  • Renderman

– Not really a rendering, more of a scene description specification standard – Programmable Shaders!!! – Created by Pixar…Used in Pixar films. – prman – Pixar’s renderer

  • Available for Windows NT/2000/XP
  • Available in ICL6

– References

  • The Renderman Companion by Upstill
  • Advanced Renderman by Apodaca/Gritz
slide-7
SLIDE 7

7

Projects – Renderers

  • Persistance of Vision (POV)

– Freeware Ray-Tracer – Available for most platforms (even Amiga!)

Projects – Renderers

  • Radiance

– “a suite of programs for the analysis and visualization

  • f lighting in design.”

– Physically-based – Emphasizes accuracy – Available on UNIX platforms – Reference

  • Rendering With Radiance by Ward Larson/Shakespeare

Projects – Application

3d software library

  • C. C++,

Java code

Shaders 3D Scene Description Texture Map

Projects – Application

  • 3D APIs

– OpenGL

  • Standard – available for most platforms
  • Computer Graphics Using OpenGL, Hill

– Java3D

  • For Java
  • The Java 3D API Specification, Sowizral, et al.

– GL4Java

  • OpenGL wrappers in Java
  • http://www.jausoft.com/gl4java.html

– DirectX / Direct 3D

  • For Microsoft Platforms
  • Any favorite references?

Projects – Web Based

Shaders 3D Scene Description Texture Map

Internet

Projects – Web Based

  • Several proprietary formats

– Viewpoint, MM Shockwave, Abobe Atmosphere

  • VRML

– ISO Standard for Web Based 3D Worlds – Latest incarnation is X3D

  • Reference

– The Annotated VRML 2.0 Reference Manual by Carey / Bell

slide-8
SLIDE 8

8

Projects

  • Requirement 2:

– Project must emphasize an aspect of the rendering pipeline:

  • Realism -- Model a scene in such a way as to "recreate" a

scene as rendered in a photograph or artwork.

  • Rich textures -- Use the programmable shading capabilities of

Cg to create a scene with complex and interesting textures.

  • Interactivity -- Using an API, create a system that allows a user

to interact with the 3D scene (e.g. walkthrus, experiment with lighting parameters, etc).

Projects

  • Requirement 2:

– Project must emphasize an aspect of the rendering pipeline:

  • Visualization -- Use coloring/texturing of a scene as a means
  • f visualizing some aspect of a 3D scene
  • Illustration -- Applet illustrating a given technique or concept.
  • Implementation – Implementation of a given

technique/algorithm from a paper

  • Major enhancement to assignment – Take one of the

assignment and improve in a significant way

Projects

  • Group projects

– Accepted and encouraged. – Max: 3 members/group – Work must reflect number of members in a group – All team members will share the same grade for a project. – Proposals for group projects must include responsibilities of each group member.

Projects

  • Helpful hints

– Pick a topic that really interests you. – Choose a renderer/API that you really would like some experience with. – This is more than a project, it is an opportunity. – Be creative! – Have fun!

Projects

  • Deliverables

– Proposal – Due March 22 – Mid-Quarter Update – Due April 18 – Documentation / Report – Due May 12 – Presentation / Demonstration

  • Peer evaluations
  • last 3/4 class periods

– Team member evaluations

  • Project Web page
  • Late deliverables penalized 10% per day (unless
  • therwise arranged)

Projects

  • Proposal

– Set up Web page – Description of project – Work Plan – Responsibilities of group members – Demo/Presentation plans

  • Proposals will be individually approved via e-

mail.

  • Need help? Just ask!
slide-9
SLIDE 9

9

Projects

  • Mid-Quarter Update

– 1-2 page status report of progress

  • On track / behind / ahead
  • Too-much work?

– Preliminary results (if any) – Last chance to change the scope of the project

Projects

  • Report / Documentation

– Description of project

  • What problem the project is set out to solve
  • Goals of the project

– Approach Taken

  • In general -- How you went about solving the problem
  • Algorithms / techniques used (with references)

– Implementation Details

  • High level system architecture (if application)
  • High level shader description (if rendering)

Projects

  • Report / Documentation

– Results

  • Screen shots
  • User documentation (if application)

– Future Enhancements

  • If I were to continue with this, what would you

tackle next?

– Appendix

  • Code

Projects

  • Demo / Presentation

– Show off your system or rendering – Oral summary of your report – Peer evaluations – Timing / dates TBD

  • Possibly during finals week?

Projects

  • Team member evaluations

– If you are a member of a team – Evaluate your team members

Projects

  • Grading

– Project worth 100 points

  • Proposal – 10 points
  • Mid-quarter Update – 10 points
  • Report – 20 points
  • System / Code – 30 points
  • Demo / Presentation – 20 points
  • Peer Review – 10 points
  • Team member evaluations – bonus points
slide-10
SLIDE 10

10

Projects

  • So you’re looking for project ideas…

Project Ideas

  • Marla Schwepe

– CIAS – School of Design – mkspph@ritvax.isc.rit.edu – Interests:

  • Sign Language System
  • Graphics + Performance

– Possible projects

  • Compositing of 3D with video footage
  • Scene manipulation from motion
  • Navigation through virtual RIT (in UT)?
  • Non-photorealistic rendering
  • Maya plug-ins
  • Marla will be here next Monday to talk about her ideas.

Project Ideas

  • Andy Phelps

– Information Technology – amp@it.rit.edu – http://andysgi.rit.edu/ – Interests:

  • Gaming
  • Real time graphics
  • Andy will be here on Wednesday to talk about his

ideas on projects.

Project Ideas

  • Susan Lakin

– Photography -- School of Photographic Arts and Sciences – srlpph@rit.edu – Interests

  • Photography + Computers
  • Digital Photography
  • Portraits

– Possible project

  • Image Manipulator

Project Ideas

  • Paul Craig

– Chemistry – pacsch@rit.edu – Interests:

  • 3D visualization of molecular structures
  • Java toolkit (work with SDSC)

– Paul will be here on Wednesday to discuss his ideas.

Project Ideas

  • Other possible mentors listed on Web site.
  • Some of my pet projects…
slide-11
SLIDE 11

11

Project Ideas

  • Post-Processing module for MojoWorld

Project Ideas

  • Urban Modeling using CityBuilder

Project Ideas

  • 3D Seating Charts using X3D

For next time

  • Be sure that your e-mail in LDAP is correct.

For next time

  • Light & Color

– Grads: Don’t forget your required readings!

  • Think about your projects…Proposals are

due before you know it.

Remember

  • Class Web Site:

– http://www.cs.rit.edu/~jmg/cgII

  • Any questions?