Ocean Simulation, 2021
A rasterized ocean simulation (C++, OpenGL) that aimed to present the beauty of caustics and animated jellyfish.
Techniques include procedurally generated terrains using Perlin noise, subsurface scattering, caustics, and vertex (jellyfish) animation.
My specialized focus here involved recreating the appearance of caustics by creating an animated overlay. Technical implementation involved blending multiple samples from a caustics texture where each texture sample had its own animation speed and scale/offset. The refractive, rainbow-like appearance was implemented by splitting and slightly offsetting the RGB channels of the texture.
Awarded the Visual Effects Award (Winter 2021) by Professor Bo Zhu. Made in collaboration with Hanlin Wang.
C++ RAYTRACING, 2021
OpenGL Rasterized Scene, 2024
Features:
Diffuse/Specular maps
Attenuated point lights
Directional light
Camera-based spotlight
FlyCamera controls (WASD)
Learning Credit:
DITHERING CEL SHADER, 2020
Inspired by South Korean “newtro” aesthetics, I created my own dithering cel shader. The features include diffuse lighting, color textures, shading ramp textures, and shadows. This personal project was used to apply basic linear algebra concepts that I’d recently learned.
Software: Unity URP, Shader Graph
Who: Personal Project
Study Resources . . .
(1) Fundamentals of Computer Graphics, 4th Edition by Steve Marschner; Peter Shirley
(2) https://lindenreid.wordpress.com/
(3) https://www.alanzucconi.com/category/shader/