80 likes | 206 Views
Teaching Graphics with no API. Pete Shirley NVIDIA, University of Utah. Mechanics of an API-free course. Output to screen or ppm file Use C++ (because of job market) Choose ray tracing or z-buffer Choose modeling or rendering as priority. Shadows tell the story.
E N D
Teaching Graphics with no API Pete Shirley NVIDIA, University of Utah
Mechanics of an API-free course • Output to screen or ppm file • Use C++ (because of job market) • Choose ray tracing or z-buffer • Choose modeling or rendering as priority
Shadows tell the story • Ray tracing course: assignment 1 has shadows • OpenGL course….
One triangle z-buffer Void rasterize(float2 v[3], rgb c[3]) { float bary[3]; for (int i = 0; i < nx; i++) for (int j = 0; j < ny; j++) { compute_bary( float2(i,j), v, bary ); if (inside01(bary)) { rgb c = interp(c, bary); setpixel( i, j, c ); } } }
Concepts students learn • Gamma • Barycentrics • Implicit and parametric equations • Shadows • Specular reflection/refraction
Possible capstone projects • Catmull-Clark • Hybrid algorithms • Path tracer • Interactive implementation
Summary Advantages Disadvantages Don’t learn useful API Interactivity occurs late Possibly bad if this is only graphics course you ever tae • Concepts over syntax • Exciting early projects • No expiration date on material • Students must make engine efficient • Good for graphics professionals
Closing remark • Best course is the one the prof likes to teach