
Rendering Engine (DirectX 11)
Jan - May 2018
This is a DirectX 11 rendering engine with a focus on water rendering with gerstner waves, terrain and shadows. It also has a post processing stack which implement bloom, depth of field and lens flare
Parts I worked on are described below.

Reflection
Implemented reflection, where the skybox texture was used as a render texture to show the reflective properties of water.

Refraction
Implemented refraction by using a render target of the entity to be refracted. Bent the normals of the entities, with respect to the camera, to display that the entity is underwater. The entities to be refracted are drawn before the water.

Lens Flare
Extracted all the “ghosts” in the scene, aka, the brightest spots. Created a threshold to get only the brightest lights in the scene. Rendered the ghosts on a different render target and applied radially sampled 1d texture. Blurred the result. Thus, implemented lens flare. Referred from http://john-chapman-graphics.blogspot.com/2013/02/pseudo-lens-flare.html