Check out my personal projects below

Show 2 projects filtered by OpenGL.

CUDA Flocking (2020)

This project is a CUDA implementation of Boid, an artificial life program that simulates fishes or birds' flocking behaviors. The project first build a naive brute-force implementation, and then gradually optimize with grid accelerating data-structure, better data locality, and usage of CUDA shared memory. The simulation is visualized by OpenGL.

View my 2021 talk on this project for details on the boid algorithm and my code.

OpenGL Grass Renderer (2019)

This project is my implementation of the paper Responsive Real-Time Grass Rendering for General 3D Scenes. It uses a combination of compute and tessellation shaders to implement grass simulation and rendering. Grass blades are represented by Bezier curves, and the tessellation shaders dynamically create the grass geometry from the Bezier curves. The compute shader performs Euler's method to simulate the physics of grass blades and then use various culling techniques to reduces the grass blades to draw each frame.