Aditya's graphics and game related adventures

GLSL - Displacement mapping using the Tessellation Shader (OpenGL 4)

1. Implements the Tessellation evaluation, control shader to dynamically improve the level of detail given a displacement map

2. Makes use of the Tessellation shader to generate extra vertices on the GPU and the geometry shader to displace the vertices from a displacement map


3. I use keys to increase/decrease the number of vertices generated buy the tessellation shader. I also use keys to increase vertices in Memory.

4. The demo first shows the process in wireframe mode and then shows it in fill mode.

The required source code here 

Ray tracing with Photon mapping

This is a ray tracer I wrote. It makes use of:

1. Creates a VOXEL based grid for every model -> Uses a bounding voxel grid

2. Super sampling for anti-aliasing

3.  Volumetric lighting

4. Supports diffuse surface illumination, specular reflection & refraction

5. (First 2 on the left) Uses a KD trees to implement indirect illumination and caustics using photon mapping (500000 photons)


Settings for these images:

super-sampling level - 4, rays per light - 3, max recursion - 5

Click to enlarge


GLSL - Bump mapping

1. Reads a model(A plane in this case), generates normals and tangents

2. Makes use of the phong shading model to implement bump mapping on a surface using GLSL

Note: I am just moving the light position in this video 


 The required source code here

Surface subdivision

This implements the loop subdivision algorithm for a given model


GLSL - Phong shading & Height map generation/updation

1. Reads an ".obj" file, creates VBOs, generate indices, calculates normals for the mesh

2. Dynamically generates a mesh(one time) from a height-map used to simulate water

3. A phong shader was implemented in GLSL to make use of scene lights and materials

Note: Im am just moving the camera in this video 


 The required source code here



An open source Graphics Wrapper developed to create games using the XNA Framework. An object-oriented design along with extensive tutorials helps in rapid development.

> Simple shadow mapping, skeleton animation, post-processing effects like the toon shader 

 This is an open source project hosted at