Python
JSON
This was a group project implementing a 3D rasterizer from scratch without using any graphics libraries. The program reads in a user specified scene file and renders 2D images.
To create a basic 3D rasterizer I implemented linear expression evaluation (LEE), hidden surface removal with z-buffering, space transformations (from object to raster space), color interpolation and texture mapping with perspective correction
Basic Render
 
                
              Toon Shaded Render
 
                
              Basic Render
 
                
              Line Art Render
 
                
              Basic Render
 
                
              Halftone Shaded Render
 
                
              Wireframes, Screen Space Ambient Occlusion, Shadows and Normal Mapping.
Includes references and sources for the 3D scenes and models we used to create our renders.
Note: We do not own any of the input 3D scenes files, texture images or background images used for creating the above rendered images. The source references for all of these files can be found in the project report linked in the "More" section above.