A collection of real-time rendering assignments and a final project developed in C++/OpenGL. The work moves from hierarchical character animation to screen-space post-processing, GPU-driven scene rendering, and a multi-effect deferred-rendering showcase.
An articulated robot assembled with hierarchical transformations.
- Parent/child transformation stack for connected body parts.
- Mouse-driven camera rotation and zoom.
- WASD movement and a right-click menu for animation playback/pause.
- Built with Visual Studio 2019, OpenGL, FreeGLUT, GLEW, and GLM.
An interactive scene demonstrating fragment-shader and post-processing effects:
- normal textured rendering;
- image abstraction and watercolor stylization;
- magnifier and movable comparison bar;
- bloom, pixelization, and sine-wave distortion.
Use WASD and Z/X to move, drag the mouse to look around, and right-click to choose an effect.
A large-scene rendering exercise using compute and graphics shaders.
- Grass and bush rendering with dedicated shader programs.
- Compute-shader reset/culling stages.
- View-frustum representation, spatial sampling, and trajectory support.
- Player-view navigation with
W/Sand turning withA/D.
The final directory contains indoor and outdoor renderer applications. Together they demonstrate a broader real-time pipeline:
- deferred shading and G-buffer construction;
- shadow mapping, SSAO, FXAA, bloom, NPR, and volumetric lighting;
- model loading and camera control;
- an outdoor terrain scene with instanced vegetation, buildings, an airplane, and a magic-stone effect.
The final project was collaborative; the two scene directories preserve the renderer code and assets used by the team.
HW1/ Hierarchical robot and animation
HW2/ Post-processing shader experiments
HW3/ GPU-driven grassland scene
Final/Indoor/ Indoor deferred-rendering showcase
Final/Outdoor/ Outdoor terrain and scene renderer
The checked-in projects target Windows and Visual Studio. Dependencies such as GLFW/GLAD, GLM, Assimp, ImGui, and model-loading helpers are bundled with the corresponding frameworks.
- Open the
.slnfile for the desired assignment or final scene. - Retarget the Windows SDK if Visual Studio requests it.
- Build the main application project.
- Run with the working directory set to the folder containing that project's shaders/assets so relative paths resolve.
Key solutions include:
HW1/110062222_AS1/110062222_Robot/110062222_Robot.slnHW2/110062222_AS2/AS2_Framework/VC14/AS2_Framework.slnHW3/GPA_Assignment3_Framework/Rendering_Framework.slnFinal/Indoor/Rendering_Framework.slnFinal/Outdoor/Rendering_Framework.sln
- This is a course-project archive. Some large executables or generated build artifacts referenced by the reports may not be present.
- Models, textures, framework code, and libraries from third parties remain subject to their respective licenses.