Download presentation
Presentation is loading. Please wait.
Published byBartholomew Stephens Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.