As part of the Cornell University’s CS5620 (Computer Graphics) class, this open-ended ray tracing project renders a pool table scene featuring various objects, such as billiard balls, cue sticks, a chalk cube, and a triangle rack. The project explores multiple approaches to object implementation, with key technical features including Constructive Solid Geometry (CSG), surface texture mapping, and geometric primitives.
Technical Features Overview:
- Constructive Solid Geometry (CSG): Created a realistic pool cue chalk cube by subtracting a sphere from a cube.
- Geometric Primitives: Implemented a Cylinder class to simulate cue sticks.
- Surface Texture Mapping: Applied diffuse texture mapping to the billiard balls and cue sticks.
- Use of Blender (3D Asset Import): Modeled a triangle rack using Blender and imported it into the scene.
- Python Jupyter Notebook: Used as the development and testing environment for rendering and ray tracing.