top of page
Software Rasterizer & Pathtracer & MeshEdit & Animation
Project Overview:
This project was finished when I am taking Computer Graphics (Spring2024)at Carnegie Mellon University as homework . The public repository for the basic framework is here: https://github.com/CMU-Graphics/Scotty3D
Scotty3D is a 3D modeling, rendering, and animation package like Blender, but we will need to complete the main algorithms and functions of Rasterization, MeshEdit, PathTracing and Animation.
Rasterizor:
- Scene Graph and Transforms
- Draw lines with the "Diamond-Exit Rule"
- Draw triangles with the "Perspective-correct Interpolation" and "Top-left Rule"
- Depth Testing / Mip-mapping / Supersampling
Drawing Lines
Depth Test (before)
Depth Test (after)
Mip-Mapping
Supersampling (before)
Supersampling (after)
MeshEdit:
- Half-edge Data Structure
- Local Operations: Split edge / Dissolve vertex...
- Global Operation: Catmull-Clark Subdivision /Triangulation
/ Loop Subdivision...
Half-edge Data Structure
PathTracing:
- Camera Ray and Intersection Test
- Lambertian BSDF / Mirror / Refract / Glass
- Indirect / Direct Lighting
- Environment / Area Lighting
bottom of page