|
 Implemented cloth simulation
based on mass-spring model. Used Cuda to compute particle positions on the GPU and OpenGL for rendering.
Source Code
Implemented Catmull-Clark subdivision on arbitrary
meshes, modified by blending the extraordinary points with a cubic polynomial to obtain continuous
curvature. Used CGAL for mesh modification/navigation and OpenGL for rendering. Implemented in C++.
See relevant paper by Adi Levin.
Source Code
Implemented a particle system on
the GPU using the fragment shader to solve the ODE and compute particle positions. These were rendered
to a texture using OpenGL's Vertex Buffer Object (VBO) and subsequently rendered using another pass.
Implemented in C++ using OpenGL and GLSL.
Source Code
 
Substituted the geometry
of a triangular mesh with bi-cubic Bezier Triangles (evaluated using de Casteljau’s algorithm) and a
quadratically varying normal to produce smoother shapes. Used OpenGL/C++/CGAL.
See relevant paper by
Alex Vlachos, Jörg Peters, Chas Boyd and Jason L. Mitchell
Source Code
This
project involved modeling of the human face using 3D triangulation
data provided in .ply format. Skin was implemented using
texture mapping applied to a Nurbs Surface which was then fitted
to the model by dragging the control points.
Cartoon
Shading and Glass
Shading were implemented using Open GL Shading - GLSL. Also
implemented were Normal Mapping and Shadow
Volumes. All coding was done in Open GL.
Detailed Description..
Source Code
Coded for a generative model in R3, with two classes each modeled by normal distributions, using a random number generator for a 1-D normal distribution. Implemented an incremental perceptron learning algorithm to classify samples generated i.i.d. and compared the empirical testing error with the expected classification error for the optimal discriminant, approximated by Monte Carlo integration. Implemented in MATLAB.
Developed
an Open GL program to implement a spline sketcher using Bezier
Curves, NURBS and Subdivision methods.
Allowed for picking and dynamic manipulation of control points.
Developed
an Open GL program to implement linear transformations on platonic
solids. A 3D scene was created, and 3 tetrahedrons
were stacked onto one another, aligned by their edges. The lowermost
tetrahedron
was
allowed to translate in the z-x plane, while the other two tetrahedrons
were allowed to rotate about independent axes, at the point of contact.
The transformations were hierarchical, so that a transformation
to the lowermost tetrahedron affected the other two but not vice-versa
(Akin to the robotic arm in the Redbook). Any tetrahedron could be
picked using a mouse and manipulated using the mouse or the arrow
keys. The world and the camera could also be rotated independently.
Implemented projectile
motion of a solid from
the tip of the topmost tetrahedron onto the z-x plane.
|