Professional Projects

MPC's procedural grooming software, used for hair, fur, feathers, grass and other fibres like cloth, used in films such as the Jungle Book.

I joined the team in 2017 and worked on feature development(mainly for feathers), bug fixing and supporting the groom artists for MPC's upcoming projects.

Personal Projects

Cloth Simulator

Built a cloth simulator using both explicit and implicit integration techniques. The code was written in python and run inside a jupyter notebook. This was done as part of my role as a Graduate Teaching Assistant at UBC.

Linear Blend Skinning

Created a rigged model using mixamo and used the assigned skeleton and influence weights to implement linear blend skinning. The code was written in python. This was a fun project and also led to learning a bit about automatic weight assignment using bounded bi-harmonic weights.

In the past few months, I've followed Jos Stam's early papers and built a Semi-Lagrangian fluid simulator written in C++ and modern OpenGL.

Wrote a ray tracer based on Peter Shirley's ray tracing book series.

Wrote a physics based sparks simulator using PyOpenGL. My submission to the national competition - Dreamworks FX Challenge 2016. I was one of the top 6 finalists.

The solver is based on the principles of newtonion physics, with features like splitting and bouncing of the sparks upon hitting the ground, collision detection with complex objects like the stanford bunny.

Used Genetic Algorithms to predict the optimal timing of traffic signals at a junction, such that the vehicles on the road have the least possible wait times at the signals.

Academic Projects

Tool to reconstruct 3D models from medical scans(PET, DICOM). Extracts iso-surfaces of bone, skin tissue, etc. Run geometric algorithms to analyze the surface mesh and send tessellated data to the 3D printer. It also has the feature to annoate 3D models. It can be used to 3D print customised implants, in surgery planning or as a teaching aid for students.

Non-photorealistic rendering of animation clips. Uses the idea of a particle system, and features like size, orientation and color maps to render a 3D scene in a painterly style. This implementation is based on this SIGGRAPH 96 paper .

Animation in OpenGL Using A Scenegraph

Project done as part of Computer Graphics Coursework : Designed and rendered a scene in OpenGL, using the scenegraph data structure and the Model View Controller design paradigm.

The scene had animation, moving light sources and spherical texture mapping.

Real-time Visualisation Of Crowds In Metropolitan Areas

Created a web application using MEAN stack where geo-coded tweets were used for real-time visualisation of areas where there was a crowd. The website would ask for the name of a city, it would use the twitter API to fetch geo-coded tweets, we would classify areas with a high density of tweets as a possible crowd, run sentiment analysis on the tweets and identified the topic of interest and the prevailing sentiments in the crowd.

This was built as an aid to the local police to quickly identify areas with violent or angry crowds and take the necessary measures.

This was done as part of the scientific computing coursework : Used numerical methods to analyse the dynamics of a newly laid out road. PCA, Curve fitting, interpolation, differentiation and integration methods were used to calculate the equation of the road, average vehicle speed, optimal waiting time at traffic signals and speed limit of a vehicle on this new road.

The purpose was to help authorities plan the placement of traffic signals, and building of side roads to manage the traffic flow efficiently.