Assingments for CS311: Computer Graphics
We implement a 3D graphics engine in C. We begin with a minimal hardware interface that lets us make a window and set individual pixels to specified colors. Atop this primitive foundation we implement triangle rasterization, texture mapping, scene graphs, projections, lighting, etc. We re-write our graphics engine using one or more hardware acceleration paradigms. Definitely we use shaders (OpenGL 2.x-4.x). As time permits we also study lower-level interfaces (Vulkan) and fixed-function interfaces (OpenGL 1.x). We pursue projects, solo or in pairs, to investigate other topics. Some projects add advanced features to the existing engine. Others study alternative rendering paradigms such as ray tracing or voxels.