Realtime is my month-long project for Brown’s computer graphics class. I implemented the rendering pipeline that loads and render a scene file with the GUI to interactively adjust the tesselation parameters. This project helped me learn a lot about rendering pipeline concepts and how post processing is done in a 3D realtime engine.
![](/assets/images/graphicsCaptures/realtime/phongTotal.png)
![](/assets/images/graphicsCaptures/realtime/recursiveSphere.png)
![](/assets/images/graphicsCaptures/realtime/snowman.png)
For lighting, I wrote a glsl shader following the phong lighting model, and supports up to 8 directional, point, and spot lights. I additionally implemented optimization via distance-based Level of Detail, and post processing shaders (grayscale, sharpen, and screen space ambient occlusion).
![](/assets/images/graphicsCaptures/realtime/classroomSSAO.png)
![](/assets/images/graphicsCaptures/realtime/tesselation.gif)
![](/assets/images/graphicsCaptures/realtime/distanceLOD.gif)
![](/assets/images/graphicsCaptures/realtime/brightChessSSAO.png)
![](/assets/images/graphicsCaptures/realtime/brightChess.png)
![](/assets/images/graphicsCaptures/realtime/sharpen.png)