Correctly simulating the physics of solids and fluids is of great interest in computer graphics. A very popular method used is the Finite Element Method (FEM), however, the FEM is troublesome for large deformations or fracturing since the object needs to be remeshed periodically. Another popular option for simulation solids and fluids is to use purely particle methods such as Smoothed Particle Hydrodynamics (SPH), but the lack of connectivity between the particles presents a difficulty for calculating derivatives. Particle-In-Cell (PIC) and Fluid-Implicit (FLIP) have been used to model solids but the results tend to be more fluid rather than a solid. Moreover, PIC is extremely dissipative and thus is not optimal for simulations. The Material Point Method (MPM) has been recently introduced into computer graphics by showing that it can accurately model snow, lava, sand, toothpaste, and other viscoelastic materials. The MPM is a hybrid Eulerian-Lagrangian method, in which the object is described by discrete particles and a cartesian grid. The particles provide an easy way to move the object and handle large deformations. The Eulerian perspective provides the grid where the derivatives will be computed and handle self-collisions. The thesis provides a description of the underlying continuum mechanics, discretization of equations, algorithm, implementation, and results. A detailed discussion of these topics is necessary in order to have a learning tool for new researchers interested in the field of physics-based simulation in computer graphics.