Key Information
About the content
Applications of computer graphics are ubiquitous, ranging from animations in movies to computer aided design of mechanical parts. In this course, we will learn how to create three-dimensional interactive applications using WebGL that run within the latest web browsers. We will disucss all aspects of computer graphics from hardware to software to applications.
Syllabus
Lecture 1: Course Overview
Lecture 2: Outline via Examples
Lecture 3: Prerequisites and References
Lecture 4: A Simple WebGL Example
Lecture 5: Getting Started with WebGL
Lecture 6: OpenGL and WebGL
Lecture 7: HTML and Browsers
Lecture 8: JavaScript
Week 2: WebGL
Lecture 1: Square Program
Lecture 2: Shader Execution Model
Lecture 3: Square Program: The HTML file
Lecture 4: Square Program: The JavaScript File
Lecture 5: WebGL Primitves and Viewing
Lecture 6: Tessellation and Twist
Lecture 7: The Sierpinski Gasket
Lecture 8: Moving to Three Dimensions
Week 3: The Open GL Shading Language and Interaction
Lecture 1: Color
Lecture 2: GLSL and Shaders
Lecture 3: Input and Interaction
Lecture 4: Animation
Lecture 5: Buttons and Menus
Lecture 6: Keyboard and Sliders
Week 4: Displaying Geometry in WebGL
Lecture 1: Position Input
Lecture 2: Picking
Lecture 3: Matrices
Lecture 4: Representation
Lecture 5: Geometry 1
Lecture 6: Geometry 2
Lecture 7: Homogeneous Coordinates
Lecture 8: Some Caveats
Week 5: Transformations
Lecture 1: Affine Transformations
Lecture 2: Rotation, Translation, Scaling
Lecture3: Concatenating Transformation
Lecture 4: Transformations in WebGL
Lecture 5: Representing a Cube
Lecture 6: Animating the Cube
Week 6: Viewing in WebGL
Lecture 1: Classical Viewing
Lecture 2: Positioning the Camera
Lecture 3: Projection
Lecture 4: Projection in WebGL
Lecture 5: Orthogonal Projection Matrices
Lecture 6: Perspective Projection Matrices
Lecture 7: Representing and Displaying Meshes
Lecture 8: Lighting and Shading
Lecture 9: The Phone Lighting Model
Week 7: Lighting, Shading and Texture Mapping
Lecture 1: Lighting and Shading in WebGL
Lecture 2: Polygon Shading
Lecture 3: Per Vertex vs per Fragment Shading
Lecture 4: Buffers in WebGL
Lecture 5: Texture Mapping Overview
Lecture 6: Approaches to Texture Mapping
Lecture 7: WebGL Texture Mapping
Week 8: WebGL Texture Mapping
Lecture 1: WebGL Texture Objects
Lecture 2: Texture Mapping to the Cube
Lecture 3: Texture Mapping Variations
Lecture 4: Reflection and Environment Maps
Lecture 5: Bump Maps
Lecture 6: Compositing and Blending
Lecture 7: Imaging Applications
Week 9: Using the GPU
Lecture 1: The Mandelbrot Set
Lecture 2: Generating the Mandelbrot Set in the CPU
Lecture 3: Generating the Mandelbrot Set in the GPU
Lecture 4: Framebuffer Objects
Lecture 5: Renderbuffers
Lecture 6: Render to Texture
Week: 10: Render-to-Texture Applications
Lecture 1: Picking by Color
Lecture 2: Buffer Pingponging
Lecture 3: Diffusion Example
Lecture 4: Agent-Based Models
Instructors
- Edward Angel - Computer Science
Content Designer

As New Mexico’s flagship institution, UNM is a place where cutting-edge research and creative endeavors flourish. We empower our students to lead in tackling complex societal challenges, offering an exceptional education inspired by vision, scholarship, and creativity. UNM’s distinctive campus environment blend of culture and cuisine, styles and stories, people, pursuits and panoramas.
Platform

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California.
Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.