##Course Description This is a student repository for the course Foundations of Computer Graphics, taught by Professor Saurabh Ray at NYU Abu Dhabi. The following is the course description:
The aim of the course is to give an overview of the fundamental concepts in computer graphics along with hands-on experience in interactive 3D graphics programming. The course will cover basic mathematics related to computer graphics (geometric primitives, 2D and 3D transformations, orthographic and perspective projections), fundamentals of geometric modeling (mesh representation and manipulation), the modern graphics pipeline, shading and lighting models, mapping techniques (texture, bump, shadow, environment), and ray tracing. Relevant basics of mathematics, algorithms and data structures will also be covered in this course. However, prior experience in programming will be very useful as the course is programming intensive. There will be several programming assignments.
##Textbook The textbook used is Interactive Computer Graphics - A Top-Down Approach with with WebGL by Angel and Shreiner, 7th Edition (March, 2014), Pearson.
##Topics covered
- Math
- Linear Algebra
- 3D Transformations
- Projections
- Programming
- WebGL API
- JavaScript
- HTML
- GLSL ES
- Graphics techniques
- Lighting
- Texturing
- Meshing
- Ray Tracing
- Animation
##Course Schedule
Week | Main material |
---|---|
Week 1 | Introduction |
Week 2 | Getting Started with Programming using Javascript and WebGL |
Week 3 | Basic WebGL concepts, Adding Interaction, Basic Mathematics |
Week 4 | More Mathematics for Computer Graphics |
Week 5 | Computer Viewing |
Week 6 | Computer Viewing (contd.) |
Week 7 | Lighting |
Week 8 | Texture mapping |
Week 9 | Ray Tracing |
Week 10 | Ray Tracing (contd.) |
Week 11 | Ray Tracing (contd.) |
Week 12 | Meshes |
Week 13 | Meshes (contd.) |
Week 14 | Animation |