Course: COMP 475 at UNC Chapel Hill
Semester: Fall 2020
Professor: Mike Reed
- A graphics library built in C++ over the course of six programming assignments and a (timed, three hour) final exam.
- Its fundamental purpose is to manipulate a pixel matrix according to the programmer/artist/user’s specification.
- Core functionality includes: drawing of geometric primitives, blending and alpha compositing, clipping, fragment/pixel shaders (linear/radial gradients, bitmap/texture sampling), shader tiling, line stroking, matrix algebra and linear transformations of graphics objects, concave shapes via path drawing, Bezier curves (quads, cubics), and triangle meshes.
- The project is an exercise in scan conversion, and I learned a great deal by building the aforementioned features from the ground up.
- It is worth noting that the instructor provided the interface through which the engine interacted with the 2D pixel array, as well as many structural headers that gave direction as to how functionality should be implemented.
- Extensive use of the C++ debugger, GDB, was required to create a functioning engine, as well as a C++ profiler, which was used to optimize certain processes.
- All of the following images listed as 'Artwork' (except for the results of the final exam output grader) are of my own creation
Description | Artwork |
---|---|
|
Description | Artwork |
---|---|
|