210 likes | 308 Vues
Join us to explore computer graphics fundamentals, OpenGL programming, and creating graphics applications. Gain insights into the design of graphics software systems and dive into the diverse world of graphics applications. Learn, grow, and have fun with us!
E N D
Welcome to CSC 341/CSC 630Introduction to Computer Graphics • Instructor • Susanna Wei • Office: BL 214 • Phone: (610) 660-1563 • Email: swei@sju.edu • Office hours: • Tuesday 2:00 - 4:00 • Thursday 2:00 - 4:00 • Or, by appointment
About the course • Logistics • Room: B/L 225 • Meeting time: Tuesday, Thursday 4:00 – 5:15pm • Course Web page: www.sju.edu/~swei/CSC341 • Use your SJU username/password • Announcements will be made through the web page, make sure you check it often. • Required Text (Strongly recommended that you buy it) • Interactive Computer Graphics: A Top-Down Approach Using OpenGL Edward Angel, Addison Wesley • Which edition: 5th • Recommended Text • OpenGL: A Primer, Edward Angel • Beginners guide to OpenGL
About the course • Reference Texts (good source of advanced information) • OpenGL Programming Guide: The official Guide to Learning OpenGL (Fourth Edition) • aka “The Redbook” • Available online at www.opengl.org • OpenGL Reference Manual • aka “The Bluebook” • Available online at www.opengl.org • PLUS • Take notes in class!!! • Material outside of the book
Course Goals • Introduce you to an exciting field in CS • Teach you • Fundamentals of computer graphics • How various elements that underlie computer graphics (algebra, geometry, algorithms, data structures, optics) interact in the design of graphics software systems • OpenGL API and GLUT • …so that you can design and implement your own graphics applications • Gain good insight into how complex computer graphics applications, such as games and movies, are produced. • “How did they do that??” • And, hopefully have some fun.
What do you need to know ? • Programming! • We will use C/C++ (OpenGL is not OO) • You also need to be comfortable with some math • Linear algebra (We will review it) • Basic trigonometry (cosines, etc.)
Course Work • Programming projects • due midnight on the due date, electronic submission. • Zip everything into a single directory. (Detailed instructions will be provided.) • late penalty • 10% up to 24 hours late, 20% for every additional day • I will ask for a demo if need be.
Programming • C/C++ and OpenGL • OpenGL: • most widely used graphics library standard. • GL (basic OpenGL) • GLU (OpenGL Utilities): higher level operations, such as drawing curved surfaces • We also need GLUT (OpenGL Utility Toolkit) (for C/C++ only) • To handle windows and user interaction • Microsoft Visual C++ • installed in BL 225 and the labs • Check the course web page for instructions of setting up OpenGL on your own PC’s • And other links related to OpenGL • Your programs must compile on department lab machines. • But you are free to develop on any platform if you prefer to do so.
Exams • Two exams • midterm • comprehensive final • Tentative weights • Homeworks and projects: 35 % • Midterm: 30 % • Final : 35 %
Academic Honesty • Okay to “discuss” general solution strategies • BUT, you should work independently when it comes to • Formulating/writing/programming solutions • You cannot share code or any written material • ALSO, you have to acknowledge any assistance you have received (book, internet, person)
About you • Name • Programming language: C/C++/Java/other? • Windows/Unix/Linux/Mac? • Programming experience • 2, >2, >5? • Calc III (undergrads)? Any course in Linear algebra (grads)? • What do you expect from this course?
What is Computer Graphics? • Computer graphics: concerned with all aspects of generating images and animations using a computer. • Hardware and software systems • Main tasks: • modeling: creating and representing the geometry of objects in the 3D world • rendering: generating 2D images of the 3D scenes • animation: describing how objects change in time
Computer Graphics • Producing photorealistic images is a complex task • A field that is in great demand • Grown enormously over the past 20 years. • Dates back to 1960’s with Ivan Sutherland • Development of very simple software to produce line drawings of 2- and 3-dimensional scenes • Today, possible to produce images that are indistinguishable from photographs
Graphics Applications • Used in diverse areas • Science • Engineering • Medicine • Industry • Art • Entertainment • Advertising • Education and Training • Four major groups
Graphics Applications • Display of Information • a medium to convey information • gain insight into data • Maps • Statistical plots • Data analysis in medicine: 3D visualization of CT (computed tomography)/ MRI (magnetic resonance imaging) data • Scientific visualization • Conversion of data to geometric entities • Gives researchers means to interpret vast amounts of data (fluid flow, molecular biology, math)
Graphics Applications • Computer Aided Design (CAD) • Engineering, architecture • Mechanical parts (e.g. car industry), buildings • Iterative process
Graphics Applications 3. Simulation and Animation • Flight simulators ( virtual worlds for training pilots) • Games and educational software • Movies • Virtual Reality • Person can act as a part of a computer generated scene using special devices • e.g. training a surgical intern
Graphics Applications • User interfaces • They are everywhere! • Windows, icons, menus • Graphical network browsers (IE, Netscape, Firefox)
For next class • Read Chapter 1 of Angel.