Graphics
CPSC 453 · rendering and shader code on a provided GL framework
Solar System Renderer
A real-time OpenGL solar system with hierarchical transforms, a procedural sphere generator, and Phong shading.

A computer graphics course project in C++ and OpenGL 3.3. I wrote the rendering and shader layer on top of the course's provided window and GL framework.
That covers a hierarchical transform system composing per-body scale, axial rotation, orbital rotation, and orbital inclination, with the moon's model matrix built against the earth's so it orbits a moving parent; a procedural UV-sphere generator producing positions, normals, UVs, and triangle winding from stack and slice counts; and vertex and fragment shaders implementing textured Phong shading with a reflect()-based specular term, with per-object toggling so the sun bypasses lighting.
The scene is a sun, earth, and moon inside a starfield, all drawn from one 32-slice, 16-stack sphere mesh with a single shader program. The starfield is that same sphere scaled up fifty times and drawn first with depth writes off and culling disabled, so the camera sees its inside. Lighting is a white point light at the sun's centre, computed in world space with normals transformed by the inverse transpose of the model matrix.
Each body's spin and orbit is its own accumulated angle advanced by delta time, so an ImGui panel can pause the animation, scale its speed from zero to five times, or reset every angle at once.