About Me

I am Aakash Praliya, a final year undergraduate student at Indian Institute of Technology,
Bombay. My major is Computer Science. I have keen interest in
Computer Graphics. My interest in Computer
Graphics started when I coded my first ray tracer. I implemented features like
refraction, shadow rendering and depth of field effect. Also, I contribute to
Appleseed, an open source rendering engine. At my institute, I have completed
an introductory course on Computer Graphics. I also finished the course Digital
Geometry Processing, which dealt with different ways to modify and process
3-D mesh data. Besides Computer Graphics, I have also done two courses on
Artificial Intelligence.

Last summer, I interned at Samsung R&D institute. As part of my R&D project ‘Realistic insertion of virtual objects in real world scenes’, I implemented Augmented Reality, using Depth map, Normal map and RGB data of real world scenes. I used optimal techniques like Truncated Signed Distance Field, Spatial Hash Table and adaptive marching cubes for surface reconstruction from Depth images.

Presently, I am doing a Bachelor Thesis Project on Fluid Simulation using Material Point Method. I used OpenVDB to implement a fluid simulator, which used a combination of PIC and FLIP techniques for particle advection. I am familiar with rendering tools like Blender and Houdini. As part of my bachelor project, I used these tools, especially the Python interface, to render the fluid.

Last summer, I interned at Samsung R&D institute. As part of my R&D project ‘Realistic insertion of virtual objects in real world scenes’, I implemented Augmented Reality, using Depth map, Normal map and RGB data of real world scenes. I used optimal techniques like Truncated Signed Distance Field, Spatial Hash Table and adaptive marching cubes for surface reconstruction from Depth images.

Presently, I am doing a Bachelor Thesis Project on Fluid Simulation using Material Point Method. I used OpenVDB to implement a fluid simulator, which used a combination of PIC and FLIP techniques for particle advection. I am familiar with rendering tools like Blender and Houdini. As part of my bachelor project, I used these tools, especially the Python interface, to render the fluid.

Projects

Fluid Simulation in OpenVDB

Bachelor Thesis Project - Guide: Prof. Parag Chaudhuri

- Implemented a fluid simulator in C++ using Particle in Cell method. Advection of particles is achieved through a combination of PIC amd FLIP techniques.
- Distribution of mass and velocity over grid cells is achieved through Catmull-Rom interpolation and subsequent extrapolation
- Used OpenVDB for construction of Eulerian grids and extraction of iso-surface from signed distance field
- Solved Projection equations using Conjugate Gradient method with Incomplete Cholesky preconditioner
- Handled collisions with solid objects and implemented stuck particle repositioning

Ray Tracer

Guide: Prof. Siddhartha Chaudhuri

- Developed a ray tracer in C++ to produce computer generated realistic images using Phong Shading model
- Employed a recursive algorithm to trace ray along its path and detect collisions with primitives. Three primitives are supported: Sphere, Cylinder and Lens
- Implemented features like point light, directional light, shadow rendering, refraction and depth of field effect

Edge Sharpener

Guide: Prof. Siddhartha Chaudhuri

- Developed a program to heuristically find blunt edges and triangles in a mesh and sharpen them
- Mesh is processed in multiple passes to eliminate non-chamfer edges and triangles
- Sharp features are introduced by formation of new vertices, obtained using subdivision of chamfer triangles and extrapolation of adjacent smooth regions
- Algorithm puts constraints on mesh deformation to preserve mesh geometry

Mesh Simplification

Guide: Prof. Siddhartha Chaudhuri

- Implemented a mesh simplification algorithm based on iterative contraction of vertex pairs
- A geometric error approximation is maintained at each vertex and is represented using quadric matrices
- The algorithm can join unconnected regions of model together, facilitating better approximations of models with many disconnected components

Chain Reaction

Guide: Prof. Supratik Chakraborty

- Implemented game of Chain Reaction in C++ using Simple DirectMedia Layer(SDL) library for GUI
- Implemented a modified form of minmax algorithm for single player game

Image Metamorphosis

Guide: Prof. Siddhartha Chaudhuri

- Programmed Feature-Based Image Metamorphosis. At each stage of morphosis, each pixel is influenced by the fields of two dimensional primitives.
- Users can create multiple feature vectors which gives them high level control of the visual effect
- Blending of images is achieved through linear interpolation of bilinearly sampled color channels of each image

Rube Goldberg Machine

Guide: Prof. Sharat Chandran

- Designed and simulated a Rube Goldberg Machine using Box2D, a physics simulation engine, in C++