Demo Reel
Demo Reel Breakdown:
-
Jello Simulation
In my Physically Based Animation (CIS 563) class we were given an assignment with base code to create a program using C++ in Microsoft Visual Studio that would generate the position at fixed time steps of a cubic mesh meant to simulate jello. Each cube had a set number of vertices defining its shape, and at every time interval the vertex positions would be calculated according to gravity and collision calculations. The base code I was given had pre-written code for RK4 integration, however I programmed all collision detection and resolutions between the cubes and rigid bodies and between cubes and other cubes. For the cube on cube collisions, I created an invisible bounding sphere around each cube and then calculated collisions based upon a cube mesh and sphere collision detection method. In order to keep the cubes stable during collisions, I used a mass-spring system, implementing bend and structural springs between vertices on the same edges, and shear springs between diagonal vertices. After creating the simulation in my C++ program, I wrote the vertex points of each mesh out to a separate .txt file. Then, in Maya I created the same number of cubes as in my simulation, making sure they had the same number of vertices as those in the simulation. I used MEL scripting to parse the .txt files and keyframe each cube vertex in Maya to the specified position in the .txt files. Lastly, I added meshes that imitated those the cubes collided with in my C++ simulation, and textured, lit, and added depth of field to the scene in Maya and rendered the animation in V-Ray so that the jello cubes could be rendered more realistically.
​
-
Rigid Body Simulation
I created this simulation of rigid bodies colliding with each other as a side project, building upon the code base for the water simulation I build for my Physically Based Animation (CIS 563) class. I used the position based method described in Miles Macklin, Matthias Muller, Nuttapong Chentanez, and Tae-Yong Kim's paper "Unified Particle Physics for Real-Time Applications", which uses position based dynamics, shape matching constraints, and signed distance field collision calculations to predict the position of each rigid body particle at every time step. I built the simulation using C++ and OpenGL, then exported the particle position data at every time step into text files. Using MEL, I then imported the particle position data into Maya, mapped each border particle position to a vertex on the corresponding Maya primitive shape, then textured and rendered the simulation in V-Ray.
-
Water Simulation
I created this simulation of water colliding with .obj meshes for my Physically Based Animation (CIS 563) class. I used the particle based method described in Miles Macklin and Matthias Muller's paper "Position Based Fluids", which uses smoothed particle hydrodynamics (SPH), XSPH artificial viscosity, and position based dynamics to predict the position of each water particle at every time step, and applies an incompressibility constraint with an artificial pressure term. I built the simulation using C++ and OpenGL, then exported the particle position data at every time step into text files. Using MEL, I then imported the particle position data into Maya, converted it into a full mesh using nParticles, then textured and rendered the simulation in V-Ray.
​
-
Sand Simulation
A simulation of sand I created for my DMD Senior Design class (CIS 497) in C++ and OpenGL using position based dynamics, smoothed particle hydrodynamics (SPH), friction and cohesion forces, and discrete particle forces. The particle position data was then exported into text files, imported into Maya with MEL, and rendered with V-Ray. To simulate the friction and cohesion forces, I used Iván Alduán and Miguel A. Otaduy's paper "SPH Granular Flow with Friction and Cohesion". For the discrete particle forces, I followed the method described in Nathan Bell, Yizhou Yu, and Peter J. Mucha's paper "Particle-Based Simulation of Granular Materials".
-
Grapes
I painted a still life of a collection of fake grapes in a bowl during a painting class, then brought it to life by modeling, texturing, lighting, and rendering a 3D version of the painting in Maya with V-Ray, and composited the image in Photoshop. I used a Blinn shader for the bowl, and Lamberts for the leaf, grapes, and background. To light the scene I used a V-Ray dome light to provide an ambient lighting to the scene, and then a number of point lights to create the specific colored highlights on the bowl, light the background surface, highlight the grapes, and provide a shadow under the bowl. In Photoshop I blurred the bowl because I felt that the applied bump map was too hard and wanted to achieve a smoother blending of the bowl highlights.
​
-
Apples
I took a picture of the sky outside of an airplane window, then brought it to life by modeling, texturing, lighting, and rendering a 3D version of the photograph in Maya with Mental Ray, and composited it in Photoshop. I created the water by making a plane textured with a Blinn shader with bump and specular maps, and created the clouds using Maya’s fluid container. For the transition between the Lambert blue backdrop and the water, I used another fluid container to create a thin fog between the two so the line of intersection would not be as sharp. I lit the scene using an area light to provide ambient lighting to the scene, then used a series of point lights on the water to create the desired glare effect. After rendering in Maya, I opened the image in Photoshop and added a white lens from another image which I edited by blurring and extending the sides, and then imported an image of scratch marks which I blurred and duplicated to get the scratched and noisy effect of looking through airplane window glass. I also applied a mostly transparent white rectangle over some of the image to lighten it.
​
-
Light Bulbs
I modeled, textured, and lit my light bulbs in Maya then composited my final image in Photoshop in my FNAR 366 Advanced 3D Modeling class. The assignment was to create a 3D image in the length of the class period, which was a little under 3 hours. I used V-Ray rectangle lights for the light inside each light bulb, and a V-Ray dome light to provide ambient light for the scene. I only created one strand of 3 connected lights in Maya, then rendered an image of them using V-Ray and exported it into Photoshop, where I duplicated the image twice, blurred, and composited my three images together to create the final piece.
-
Chandelier
I modeled, textured, and lit my chandelier in Maya and rendered the scene using V-Ray. I textured the chandelier and surrounding scene with simple Lambert and Phong shaders with texture maps applied. For the day lighting, I used a V-Ray dome light facing down to add a blue-purple overtone, a V-Ray dome light facing up to add an orange undertone, and a V-Ray rectangle light to apply a gold-tinted highlight to the scene to indicate the position of the sun. For the night lighting, I used a white point light in each light cup in the chandelier, a V-Ray dome light facing down to add a very dark blue overtone, and a V-Ray dome light facing up to add a black undertone.
-
Child’s Room
I modeled, textured, and lit my child’s room piece in Maya and rendered the scene to simulate different times of day from noon to night using V-Ray. I textured most of the room with Lambert and Blinn shaders and bump maps, and used V-Ray fur to create the fur on the teddy bear. I used a V-Ray dome light facing down to add different overtones depending on the time of day, a V-Ray dome light facing up to add different undertones depending on the time of day, and a V-Ray rectangle light to add highlights and indicate the position of the sun of moon depending on the time of day represented.
-
Artwork
My paintings with the staircase, girl on the patio, and sun glares are both painted in oil paint off of photographs I took.
My impressionistic landscape paintings are both done in oil paint. The one on the left was painted off of a photograph, the one on the right was painted from my imagination.
My portrait paintings are both done in oil paint off of photographs. I took the photograph that the painting on the left is based on, the painting on the right is based upon a photograph taken of me when I was little.
My still life drawings are all done off of still life set-ups in charcoal except for the one that looks like a collage with CDs and pens, which is made with pencil.
My life drawings are all done in charcoal based upon live models except for the one of the dancer, which is based off of a photograph.