This is our final project for the graduate course CSCI-580, 3D Graphics and Rendering, at University of Southern California. In this project we built a rendering library from scratch in VS-C++. We then used our library to render any 3D model, including the famous teapot. The library has many features. You can switch between Flat/Gouraud/Phong shading. Or switch the reflection/refraction on and off. It also has anti aliasing filter to enhance the quality of renders. Rotations and transformation could be easily done interactively. It was a tough project but we learned all the details of 3D graphic rendering, building one from scratch.