This course provides an introduction to 3D computer graphics, emphasizing real-time graphics programming using WebGL and JavaScript programming language. Topics include an introduction to JavaScript, the OpenGL ES shading language, the mathematics of 3D graphics, transformation, texturing, lighting, scene management, and interaction. Topics in software engineering, including project management and source code control, are alse covered.
Students may expect to gain experience developing interactive 3D content running across Windows, Linux, or OSX in a web browser on their PC, laptop, or mobile device. No prior experience with 3D graphics is required.
This 3 credit hour course will require 6–8 hours of work per week outside of class completing programming projects and readings.
10:30am–11:50am
Tuesday and Thursday
114 Audubon Hall
Dr. Robert Kooima
Division of Computer Science & Engineering
Louisiana State University
kooima@csc.lsu.edu
Office hours: 1pm–3pm Tuesdays
2016 Digital Media Center
Vivian Ho
whe1@lsu.edu
Office hours: 1pm–2pm Fridays
164 Coates Hall
The full course notes are hosted here.
There are still incompatibilities among the major browsers that make portable software development challenging. To minimize the impact of this on the content of this course, everyone uses the same browser.
JavaScript is the native language of the web browser.
WebGL is the JavaScript API used to communicate with and control the GPU.
While not the focus of the course, we'll make some use of HTML and CSS, the languages that define the structure and appearance of web content.
Choose a decent programmer's editor. Make sure it has syntax highlighting for JavaScript and HTML. There are many excellent free code editors for all OSs, several of which run cross-platform.
Assignments include six individual programming projects and one final project.
classes.csc.lsu.edu
.
Assignment Schedule Assignment Due Date Value Programming Project 1 Tuesday Sept. 6 12 points Programming Project 2 Tuesday Sept. 20 12 points Programming Project 3 Tuesday Oct. 4 12 points Programming Project 4 Tuesday Oct. 18 12 points Programming Project 5 Tuesday Nov. 1 12 points Programming Project 6 Tuesday Nov. 15 12 points Final Project Friday Dec. 9 28 points Course Total 100 points
Final Course Grade Total Grade > 96.6 points A+ ≥ 93.3 points A ≥ 90.0 points A− ≥ 86.6 points B+ ≥ 83.3 points B ≥ 80.0 points B− ≥ 76.6 points C+ ≥ 73.3 points C ≥ 70.0 points C− ≥ 66.6 points D+ ≥ 63.3 points D ≥ 60.0 points D− < 60.0 points F
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
Aug 21 | Aug 22 | Aug 23 Introduction to the Course |
Aug 24 | Aug 25 HTML, CSS, and JavaScript |
Aug 26 | Aug 27 |
Aug 28 | Aug 29 | Aug 30 Mesh Geometry Last day to drop |
Aug 31 Last day to add |
Sept 1 Buffer Objects |
Sept 2 | Sept 3 |
Sept 4 | Sept 5 Labor Day |
Sept 6 Debugging Project 1 Due |
Sept 7 | Sept 8 Transformation |
Sept 9 | Sept 10 |
Sept 11 | Sept 12 | Sept 13 Transformation |
Sept 14 | Sept 15 Viewing |
Sept 16 | Sept 17 |
Sept 18 | Sept 19 | Sept 20 Project 2 Due |
Sept 21 | Sept 22 Graphics Pipeline |
Sept 23 | Sept 24 |
Sept 25 | Sept 26 | Sept 27 Lighting |
Sept 28 | Sept 29 Lighting |
Sept 30 | Oct 1 |
Oct 2 | Oct 3 | Oct 4 Project 3 Due |
Oct 5 | Oct 6 Fall Holiday |
Oct 7 Fall Holiday |
Oct 8 |
Oct 9 | Oct 10 | Oct 11 Shading |
Oct 12 | Oct 13 Shading |
Oct 14 | Oct 15 |
Oct 16 | Oct 17 | Oct 18 Project 4 Due |
Oct 19 | Oct 20 Basic Modelling |
Oct 21 | Oct 22 |
Oct 23 | Oct 24 | Oct 25 Texture Mapping |
Oct 26 | Oct 27 Texture Mapping |
Oct 28 | Oct 29 |
Oct 30 | Oct 31 | Nov 1 Project 5 Due |
Nov 2 | Nov 3 Normal Mapping |
Nov 4 | Nov 5 |
Nov 6 | Nov 7 | Nov 8 Frame Buffer Objects |
Nov 9 | Nov 10 Post Process Effects |
Nov 11 | Nov 12 |
Nov 13 | Nov 14 | Nov 15 Project 6 Due |
Nov 16 | Nov 17 | Nov 18 | Nov 19 |
Nov 20 | Nov 21 | Nov 22 | Nov 23 Thanksgiving |
Nov 24 Thanksgiving |
Nov 25 Thanksgiving |
Nov 26 |
Nov 27 | Nov 28 | Nov 29 | Nov 30 Concentrated Study |
Dec 1 Concentrated Study |
Dec 2 Concentrated Study |
Dec 3 |
Dec 4 | Dec 5 Scheduled Final Exam 10am–noon |
Dec 6 Finals |
Dec 7 Finals |
Dec 8 Finals |
Dec 9 Finals |
Dec 10 Finals |