Graphics and Simulation

Some pictures

Computer Graphics

Ray Tracer

  • Renders an image based on the scene graph that is in turn built from a text input file
  • Provides the facility of using multiple lights
  • Uses concept of Bounding Sphere which makes ray tracing very quick
  • Uses EasyBMP library to generate a .bmp image
  • Check out the GPU ray tracer that I have been working on recently in my GPU Projects section

Room Editor – Scene Graph

  • Stores a 3D, hierarchical scene, based on a text file description
  • Renders the data structure’s contents using OpenGL 3.2
  • Shows diffuse, ambient and specular lighting
  • Provides users with the flexibility to interactively place objects like chair, table, lamp, etc. using the keyboard buttons to move/rotate/scale objects
  • Has ability to generate unique user defined objects when provided with a set of vertices and height (if extrusion is being used) or angle (if surface revolution is being used)

Volumetric Renderer

Volumetric Rendering – Cloud from Aparajith Sairam on Vimeo.

  • Renders wispy cloud like images
  • Used Multi-threading to generate images very fast; reducing render time from ~20 second to ~2.5 second
  • Uses Perlin noise to generate the cloud patterns
  • Implemented Trilinear Interpolation for improving quality of Rendering
  • Created a Movable Grid
  • Supported Multiple Lights

Computer Animation

Behavioral Animation

  • Simulates individual behaviors like arrive (at a point), depart, seek, flee, wander
  • Simulates group behaviors like follow leader, cohesion, separation, alignment
  • Forward dynamics was used for calculating the position, velocity and acceleration of the agents

Particle System

  • Simulates fireworks (rockets)
  • Uses forward dynamics for calculating the position, velocity and acceleration of the rocket and the sparks (after explosion of rocket)
  • Uses Euler Integration for solving the forward dynamics equations

BVH Player

  • Plays a .bvh file based on a character’s skeleton and motion capture data, using forward kinematics
  • Enables users to move the joints of the character using Cyclic Co-ordinate Descent IK algorithm
  • Allows blending two different motions like running and walking (even if motions from motion capture are in opposite direction) using both SLERP and SQUAD

Walk cycle animation

  • Simulated the walk motion of humans by key framing technique
  • Used Autodesk Motion Builder for creating the animation

Motion Capture

  • Captured various human motions and poses like T-Pose, walking, jogging, running, playing badminton, playing golf, etc. in SIG Lab at UPENN
  • Used Vicon system for motion capture as well as for cleaning the captured data

Curve Constructor

  • Draws a spline that passes through a set of user defined points
  • Provides for Catmul Rom Spline (using polynomial equation, de Castel Jau algorithm, matrix method) and Hermite Spline

Physically Based Animation

Cloth Simulation

Cloth Simulation from Aparajith Sairam on Vimeo.

  • Simulates interaction of cloth with Passive and Active Colliders
  • The cloth is capable of interacting with any polygonal mesh, not just cube or sphere; will be uploading a video demonstrating that shortly
  • Simulates tearing of cloth

Boom Blox

Boom Blox from Aparajith Sairam on Vimeo.

  • Real Time simulation of rigid bodies
  • Uses Sweep and Prune Algorithm for increasing speed of simulation
  • Uses Multi-Threading for achieving further speedup; in all achieving a 30 times speedup


Nice Jello Render from Aparajith Sairam on Vimeo.

  • Simulated a deformable object (jello) using particle systems simulation of rigid bodies
  • Implemented Verlet Integration for increasing speed of simulation
  • Ported to Maya and rendered using Mental Ray

Advanced Animation

LIne DRAwings – LIDRA

LIDRA from Aparajith Sairam on Vimeo.

  • Non-Photo Realistic Rendering of 3D Scenes
  • Referred to various SIGGRAPH papers, Main Paper – Programmable Rendering of Line Drawing from 3D Scenes (2010) GRABLI, S., TURQUIN, E., DURAND, F., AND SILLION, F.TURQUIN
  • Implemented fast detection of Silhouettes and Creases
  • Designed and implemented an architecture for the system which allows users to create (program) their own style easily
  • Allowed the user to save and use the style with any 3D scene

3D Modeling / Sculpture


  • First Step in learning Autodesk Maya
  • Applied different textures for different surfaces of the pot

Tin Man

  • Modeled and textured Tin Man of the Wizard of Oz
  • Used Adobe Photoshop for compositing the Tin Man with the castle background
  • Different lights like directional light and point light were used

Anime Character Goku

  • Modeled character Goku of famous anime series Dragon Ball Z
  • Used Cloth Simulation for the costume of Goku

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s