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

toonshader.gif
toonshadergraph.jpg
 

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/

Next
Next

XR Development