Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics 9/4/20141.

Similar presentations


Presentation on theme: "CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics 9/4/20141."— Presentation transcript:

1 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics 9/4/20141

2 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Professor:  Andy van Dam (avd)  Head TA:  Brandon Montell (bmontell), 2015  Undergraduate TAs, all 123 veterans:  Allison Hamburger (ahamburg), 2016  Ben Most (bmost), 2015  Joshua Lewis (jml16), 2015  Michael Murphy (mjm9), 2015  Veena Vignale (vvignale), 2015 – 5 th year Masters  Vivian Morgowicz (vmorgowi), 2016 Your Staff 9/4/20142

3 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Juniors or higher  CS15-16, CS17-18, or CS19 and CS32  or equivalent, with strong software engineering skills (OO design and programming, debugging) – this is a projects-based “studio course”  Sophomores  did well in intro sequence  consider themselves strong programmers  willing to put in a bit of extra time up front (e.g., to learn C++) Who Should Take CS123? 9/4/20143

4 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  If you don’t know C++, you CAN take this class  C++ is Java + explicit memory management and some C grottiness  additional time investment required early on  C++ help session TONIGHT at 8:00 PM in Motorola (CIT 165)  CS123 Java to C++ transition tutorial on course website (docs page)  TAs can help you with C++ issues on hours  Linear Algebra (vector and matrix arithmetic, dot and cross products)  help session to review these concepts (later on in the semester)  Consider taking Philip Klein’s CS53, Directions: The Matrix in Computer Science  If you’re not sure you should be in CS123 or have not met the prereqs, stay after class and see Brandon or Requirements Info 9/4/20144

5 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Quick start: 2D and 3D graphics with OpenGL  2D raster graphics  2D modeling hierarchy  basic image transformations  Basic 3D scene management  tessellation of curved surfaces  transformations (translation, rotation, scale)  virtual camera model  Scene graph traversal Bird’s Eye View of the Course (1/2) 9/4/20145

6 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  3D Modeling and Rendering – the core  intersecting rays with simple solids  ray tracing  lighting and shadowing of polygonal models  stochastic methods for photorealistic rendering  GPU hardware rendering (GLSL)  Other Topics  color theory  animation  user interfaces Bird’s Eye View of the Course (2/2) 9/4/20146

7 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  We don’t want a killer course but it will be intense  Expect hours of work per week  Course is front-loaded, lots to learn in the first three weeks  Combining with another programming-heavy course (like CS33) is doable but can be challenging, especially for those who have only taken the intro sequence.  Final project doing shader programming on GPU  Expect to put in a fair amount of time during reading period Workload 9/4/20147

8 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Each project will include a section called half credit requirements  Those taking cs1234 will need to complete these requirements  Those not taking cs1234 can use the requirements as additional extra credit  Expect 7-10 additional hours of work  CS1234 can be used as a capstone course  Half credit requirements can be be used to get grad credit  Do NOT show up at the class time listed on Banner for CS1234  Banner hack ;) Half Credit requirements 9/4/20148

9 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Course missive (online)  Assignment deadlines and lecture topics are subject to change  Responsible for info on course website:  Mailing list for course updates – mail will be sent to your Brown CS address  Course guide (online) Course Documents (1/3) 9/4/20149

10 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Collaboration Policy  More types of collaboration allowed this year than last year  Allowed: discussion of solutions to written “algo” assignments (hand-ins must acknowledge collaboration that takes place), high-level design of programs  Not allowed: written notes from discussions with other students, detailed discussion of programs  This is different from rules in other courses.  Read collaboration policy carefully before you sign because it is a contract  MOSS – an AI program that is usually correct – we hand-check suspicious similarity  Typical verdict: directed NC and parental notification Course Documents (2/3) 9/4/201410

11 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Lectures posted online. You are encouraged to bring your laptops to read along and annotate lectures. Course Documents (3/3) 9/4/201411

12 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  The textbook for this class is recommended, but not required  Most lectures will correspond to chapters in the book  An improved index has been linked on the site’s docs page 9/4/ The Book

13 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Assignments 9/4/  6 Programming Projects  Three of which build up to a ray-tracing system  Additional requirements for half credit course  70% of final grade  10 Labs  Learn what modern graphics systems can do  Real-time computer graphics and GPU shaders  3D interaction and UI  10% of final grade  1 Final Project  Real-time project using GPU programming  You are strongly encouraged to work in groups of 2-3; 2 most common  20% of final grade

14 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  First assignment, Brush: warm-up exercise in C++  Out NOW  Start early, especially if you’re uncomfortable with C++  Bring questions to help session tonight  Algorithm assignment due Sunday, September 7 at 5pm  hand in (on paper) in the cs123 bin on the second floor of the CIT  no late hand-ins accepted  Program due Wednesday, September 10th, 11:59pm First Assignment 9/4/201414

15 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Brush – a 2d drawing program (intro to C++)  Shapes – procedural geometry  Filter – image processing  Sceneview – 3d static scene viewer for OpenGL  Intersect – parametric shapes, ray-shape intersections  Ray – your own 3d rendering engine  Each project is preceded by a short “algo” assignment, which ensures that you understand the concepts behind the project before starting to code. Projects 9/4/ Image created using brushes from the “Brush” assignment

16 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  OpenGL 2D – build a simple pong game  OpenGL 3D– build an archery simulator  Animation – learn how to light and animate scenes with OpenGL  Terrain – generate a natural-looking world environment  Particles– render flame, fluid, non-rigid objects  Camtrans– create an OpenGL viewing camera  Shaders I – procedural texturing (snow, grass, etc.)  Shaders II– link C++ to shaders and implement Phong lighting  Shaders III – make objects look like glass and metal  Modeler– build a UI for composing a scene from primitive shapes  Lab assignments are due (checked off by a TA) before the next week’s lab Labs – Thursday 8:30-10:30pm, Friday 4-6 9/4/201416

17 Final Project Demos 9/4/201417


Download ppt "CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics 9/4/20141."

Similar presentations


Ads by Google