OpenGL Graphics Projects
Terrain, water, particles, tessellation, lighting and an interactive Rubik's cube.
C++ / OpenGL developer

A suite of modern C++17 / OpenGL 3.3 graphics projects from the Computer Graphics course at Tsinghua University: seven assignments spanning terrain rendering, procedural effects, GPU tessellation, lighting and an interactive Rubik’s cube. Each project keeps shaders, assets, camera and scene logic cleanly separated.
Terrain engine
A heightmap-based terrain engine with a skybox, an animated sea with reflections, and free-camera navigation.
Heightmap terrain with skybox and animated, reflective water.
Close-up of the terrain surface and shading.
Flying over the terrain in real time.
Particles & lighting
GPU particle effects (stars and snow) and Phong lighting applied to loaded OBJ models.
Snow particle system.
Per-fragment Phong lighting on an OBJ model.
Interactive Rubik’s cube
A fully interactive Rubik’s cube, generalised from a standard 2×2×2 all the way up to 8×8×8, with animated rotations.
The cube generalised to larger dimensions.
More
The remaining projects, including a textured solar system with labels and a GPU-tessellated Bézier surface, are shown in the video demos further down the page, alongside the per-assignment reports and the course presentation.
My role
C++ / OpenGL developer. Engine architecture, shaders and scene logic across all seven projects.
Tech
C++17 · OpenGL 3.3 · GLFW
Presentation
Reports
Videos
Terrain Engine Demo Rubik Cube Demo Solar System Demo Tessellation Demo Light Demo

