Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics © 9/10/20151/17.

Similar presentations


Presentation on theme: "CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics © 9/10/20151/17."— Presentation transcript:

1 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics © 9/10/20151/17

2 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Professor:  Andy van Dam (avd)  Head TA:  Michael Murphy (mjm9), 2016 (5 th year Masters)  Undergraduate TAs, all 123 veterans:  Carl Olsson (colsson), Masters 2016  David Whitney (dwhitney), Ph.D. 2019  Jacob Rosenfeld (jr51), 2016  Justin Bisignano (jtbisign), 2016  Lucas Priebe (lpriebe), 2016  Vivian Morgowicz (vmorgowi), 2016  Xiaoyi Mao (xmao), 2016 Your Staff © 9/10/20152

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”  we will teach you C++ and good practices to save you debugging time  Sophomores (and new grad students)  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++)  you will be caught up quickly Who Should Take CS123? © 9/10/20153

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  We will hold multiple help sessions to get you started  First C++ help session TONIGHT at 8:00 PM in Motorola (CIT 165)  Intro to C++ and transitioning from Java  If you can’t make it, see the course website (docs page) for a recap  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 MATH 520 or 540 for Linear Algebra  If you’re not sure you should be in CS123 or have not met the prereqs, stay after class and see a Michael (Head TA) or email cs123tas@cs.brown.educs123tas@cs.brown.edu Requirements Info © 9/10/20154

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/10/20155

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/10/20156

7 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  We don’t want a killer course but it will be intense  Expect 15-20 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  Independent, open-ended final project doing shader programming on GPU  Expect to put in a fair amount of time during reading period Workload © 9/10/20157

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  Not an actual course, just a Banner hack ;) Half Credit requirements © 9/10/20158

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: http://cs.brown.edu/courses/cs123http://cs.brown.edu/courses/cs123  Mailing list for course updates – mail will be sent to your Brown CS e-mail address  Help guides (in person and online)  C++ Lecture Series  OpenGL Guide  GLM Reference Course Documents (1/3) © 9/10/20159

10 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  Collaboration Policy  Allowed: discussion of lectures, C++ concepts, OpenGL, and GLSL  Not allowed: implementation details, algorithms, anything solution-oriented  This may be different from rules in other courses, but the key idea persists: your written work MUST BE YOUR OWN  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/10/201510

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/10/201511

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/10/201512 The Book

13 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Assignments © 9/10/201513  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  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/10/201514 Image created using brushes from the “Brush” assignment

15 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam  OpenGL Basics– learn to use OpenGL to draw 2D shapes  3D Transformations– Create and animate 3D shapes  Fragment Shaders – Bring color and textures to your 3D worlds  Phong Lighting– Learn to fix errors and simulate lighting  Terrain– generate a natural looking enviornment  Camtrans– create a controllable OpenGL viewing camera  FBOs– generate your own textures and lighting effects  Color– work with color spaces and learn WebGL  Advanced Shaders– make objects that look like glass and metal  Modeler– build your own 3D modeling program  Lab assignments are due (checked off by a TA) before the next week’s lab Labs – Two meetings a week, time TBA © 9/10/201515

16 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 13 at 5pm  hand in (on paper) in the cs123 bin on the second floor of the CIT  no late hand-ins accepted  Program due Thursday, September 17th, 11:59pm First Assignment © 9/10/201516

17 CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam© 9/10/201517 Final Project Demos


Download ppt "CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam Welcome to CS123! Mechanics © 9/10/20151/17."

Similar presentations


Ads by Google